我正在学习如何使用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
答案 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}}。
我完全删除了第二行,因为它既没有任何意义,也没有必要。想一想,为什么要将元素的值赋给元素的当前值???
你的第三行(在我的代码中,它是第二行)没有改变。