2017-02-09 55 views
1

我想降低HTML播放器的默认音量。更改JS/HTML5 Player中的播放器音量值,但音量保持不变

我在这里可以更改值:

`setAttributes(volumeSlider, { "type": "range", "min": "0", "max": "1",  "step": "any", "value": "1", "orient": "vertical", "id": "volumeSlider" });` 

http://codepen.io/Teeke/pen/MJPoOr

更改value: 10.1会使音量滑块降低到10%,但播放音轨音量保持不变。

我也试着和静音这两个功能改变价值观,没有效果:

function volumizer() { 
    if (audioTrack.volume == 0) { setText(muteButton,"volume"); } 
    else { setText(muteButton,"volumehigh"); } 
} 

function muter() { 
    if (audioTrack.volume == 0) { 
     audioTrack.volume = restoreValue; 
     volumeSlider.value = restoreValue; 
} else { 
    audioTrack.volume = 0; 
    restoreValue = volumeSlider.value; 
    volumeSlider.value = 0; 
    } 
} 

什么样的价值,我需要改变以编程方式降低轨道音量?

回答

2

我在这里错过了什么......你的例子工作正常。

当我更改滑块时,音轨的音量在视觉上,在控制台中以及在本机上以音频形式变化。

如果它不适合你,它可能是一个浏览器问题。我使用Chrome版本56.0.2924.87。

要查看值在控制台中,按下左下角的控制台按钮,使用的console.log功能:

volumeSlider.addEventListener("input", function(){ 
    console.log(['beforeVolChng', volumeSlider.value, audioTrack.volume]); 
    audioTrack.volume = volumeSlider.value; 
    console.log(['afterVolChng', volumeSlider.value, audioTrack.volume]); 
}, false); 

CONSOLE.LOG可以采取任何内容:基本类型(整数,浮点,字符),对象和阵列等。

因此,如果您的问题是:您想在开始播放时应用滑块上的播放音量。让我看看。

这里,这将是一个很好的解决方案:

audioTrack.addEventListener('playing', 
    function(){ 
     playhead.max = audioTrack.duration; 
     audioTrack.volume = volumeSlider.value; 
    }, false); 
+0

滑块工作正常,这不是一个问题。我希望能够只使用JS设置默认音量,而不是滑块。即 - 我希望滑块从50开始,或30%的当前起始音量。我不需要控制台记录数值,只需要对不同的起始值进行硬编码,因为此音频在我创建的混音中声音太大。 – RubyRube

+0

那么当你想要应用上述音量时,你需要某种触发器。你可以选择两种方法: 只需在'正在播放'事件中直接设置音量或更改滑块的位置(我应该这样做,因此音频播放的音量实际上反映了滑块设置) 。例如: volumeSlider.value = 0.1; –

+0

我已经尝试将音量Slider.value设置为0.1,但当它不起作用时,我感到很惊讶。 – RubyRube