音频范围音量滑块Javascript / HTML5

时间:2015-09-21 23:16:58

标签: javascript html5 audio slider range

我正在学习如何使用HTML5音频编写代码并遇到如何将滑块连接到音量的麻烦。

我的代码如下,任何建议都表示赞赏。我不确定的主要部分是<!DOCTYPE html> <head> <title>Slider + Play/Pause</title> <script> "use strict"; /*function playMusic() { document.getElementById("mediaClip").play(); }*/ var mediaClip = document.getElementbyId("mediaClip"); var volume1 = document.getElementbyId("volume1"); function playPause() { var mediaClip = document.getElementById("mediaClip"); if (mediaClip.paused) { mediaClip.play(); } else { mediaClip.pause(); } } function change() { var button1 = document.getElementById("button1"); if (button1.value==="Play") button1.value = "Pause"; else button1.value = "Play"; } function setVolume() { var mediaClip = document.getElementById("mediaClip").value; document.getElementById("mediaClip").value = mediaClip; mediaClip.volume = document.getElementById("volume1").value; } </script> </head> <body> <audio id="mediaClip" src="takeMeToChurchHozier.mp3" controls> <p>Your browser does not support the audio element</p> </audio> <br/> <input onclick="change();playPause()" type="button" value="Play" id="button1"> <br/> <input type="range" onchange="setVolume()" id='volume1' min=0 max=1 step=0.01 value='1'> </body> </html> 的脚本;我只是无法绕过它。

    $ eb deploy

1 个答案:

答案 0 :(得分:1)

setVolume()功能中,将代码更改为:

var mediaClip = document.getElementById("mediaClip");
mediaClip.volume = document.getElementById("volume1").value;

<强>解释

我将第一行代码从var mediaClip = document.getElementById("mediaclip").value;更改为var mediaClip = document.getElementById("mediaClip");,因为要更改元素的属性或属性,您需要使用此语法element.property而不是{{ 1}}。

我完全删除了第二行,因为它既没有任何意义,也没有必要。想一想,为什么要将元素的值赋给元素的当前值???

你的第三行(在我的代码中,它是第二行)没有改变。