diff --git a/bigbluebutton-html5/imports/ui/components/actions-bar/component.jsx b/bigbluebutton-html5/imports/ui/components/actions-bar/component.jsx
index 95d8be778e9711bc0fad60527f431a57d6d00f84..727adbb2fe8f2b2ff71119108c13b7b01e477d75 100755
--- a/bigbluebutton-html5/imports/ui/components/actions-bar/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/actions-bar/component.jsx
@@ -128,7 +128,7 @@ class ActionsBar extends PureComponent {
           }
           if (result) {
             AudioManager.setFloorOutputVolume(FLOOR_TRANSLATION_VOLUME);
-            transaudio.volume = 1
+            // transaudio.volume = 1
           } else {
             AudioManager.setFloorOutputVolume(1.0);
           }
diff --git a/bigbluebutton-html5/imports/ui/components/translations/component.jsx b/bigbluebutton-html5/imports/ui/components/translations/component.jsx
index 35534823d27169cceb70ccd168198662221de124..e936343b21863354b14403b8d0c378bafe921c74 100644
--- a/bigbluebutton-html5/imports/ui/components/translations/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/translations/component.jsx
@@ -130,6 +130,11 @@ class Translations extends Component{
         pEvent.preventDefault();
     }
 
+    setLanguageVolume(pExt, pVol) {
+        console.log("#@# pExt: " + pExt + "pVol: " + pVol);
+        AudioManager.$translationChannelVolumeChanged.next({ extension: pExt, volume: pVol});
+    }
+
     render() {
         const {
             intl,
@@ -185,11 +190,18 @@ class Translations extends Component{
                         : null
                     }
                 </p>
+
                 <div>{intl.formatMessage(intlMessages.speechDetectionThreshold)}:</div>
                 <form onSubmit={this.handleSubmit}>
                     <input id="speechDetectionThreshold" type="number" value={this.state.speechDetectionThreshold} onChange={this.setThreshold.bind(this)} />
                     <input type="submit" onClick={ this.updateThreshold.bind(this) } value="Set" />
                 </form>
+
+                <button onClick={ _ => this.setLanguageVolume(0,.5)}>1,0.5</button>
+                <button onClick={ _ => this.setLanguageVolume(0,1)}>1,1</button>
+                <button onClick={ _ => this.setLanguageVolume(1,.5)}>2,0.5</button>
+                <button onClick={ _ => this.setLanguageVolume(1,1)}>2,1</button>
+
             </div>
         );
     }
diff --git a/bigbluebutton-html5/imports/ui/services/audio-manager/index.js b/bigbluebutton-html5/imports/ui/services/audio-manager/index.js
index 69b64724008047a9476d586d194a7dbed06878c0..337528e32117caec79ff03cba024cdeeb55792ba 100755
--- a/bigbluebutton-html5/imports/ui/services/audio-manager/index.js
+++ b/bigbluebutton-html5/imports/ui/services/audio-manager/index.js
@@ -60,6 +60,9 @@ class AudioManager {
     this.$translatorSpeechDetectionThresholdChanged = new BehaviorSubject(TRANSLATOR_SPEECH_DETECTION_THRESHOLD)
     this.$translatorSpeakingChanged = new BehaviorSubject(false)
 
+    this.$translationChannelVolumeChanged = new BehaviorSubject({ extension: -1, volume: 0 });
+    this.translationChannelVolume = [];
+
     this.defineProperties({
       isMuted: false,
       isConnected: false,
@@ -98,6 +101,18 @@ class AudioManager {
       }
     });
 
+    this.$translationChannelVolumeChanged.subscribe((pLang) => {
+        if(
+            pLang.hasOwnProperty("extension") &&
+            pLang.hasOwnProperty("volume")
+        ) {
+          this.translationChannelVolume[pLang.extension] = pLang.volume;
+          let audioElement = document.getElementById("translation-media");
+          if(audioElement) audioElement.volume = pLang.volume;
+        }
+    })
+
+
   }
 
   init(userData, audioEventHandler) {
@@ -809,6 +824,16 @@ class AudioManager {
       //create a dummy stream that does nothing at all
       let ac = new AudioContext();
       let dest = ac.createMediaStreamDestination();
+      let audioElement = document.getElementById("translation-media");
+      console.log("#@# languageExtension: " + languageExtension);
+      let tIdx = parseInt((languageExtension+ '').charAt(2));
+      console.log("#@# tIdx: " + tIdx);
+      console.log("#@# this.translationChannelVolume: ");
+      console.log(this.translationChannelVolume);
+      if(audioElement) audioElement.volume =
+          Array.isArray(this.translationChannelVolume) && typeof this.translationChannelVolume[tIdx] !== 'undefined' ?
+              this.translationChannelVolume[tIdx] : 1;
+
       if (languageExtension >= 0) {
         const callOptions = {
           isListenOnly: true,
@@ -827,6 +852,7 @@ class AudioManager {
         resolve(-1);
       }
     });
+
   }
 
   async openTranslatorChannel(languageExtension, onConnected) {
@@ -928,6 +954,9 @@ class AudioManager {
   async notifyMuteStateListener() {
     this.muteStateCallbacks.forEach(callback => callback());
   }
+
+
+
 }
 
 const audioManager = new AudioManager();