2017-02-09 79 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

相關問題