音频上下和.currentTime HTML5 / Javascript
Audio up and down and .currentTime HTML5 / Javascript
某些代码有问题。我找不到任何问题,而且似乎与我的其他有效代码相同。只是调高音量和调低音量以及我遇到问题的 goToChorus。感谢您的帮助!
<!DOCTYPE html>
<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").value;
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");
mediaClip.volume = document.getElementById("volume1").value;
}
function backStart() {
document.getElementById("mediaClip").currentTime = 0;
}
function upVolume() {
if (mediaClip.volume < 1)
{
mediaClip.volume += 0.1;
}
}
function downVolume() {
if (mediaClip.volume > 0)
{
mediaClip.volume -= 0.1;
}
}
function goToChorus() {
mediaClip.currenTime = 55;
}
</script>
</head>
<body onload="init()">
<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">
<input type="range" onchange="setVolume()" id='volume1' min=0 max=1 step=0.01 value='1'/>
<br/>
<button onclick ="backStart()">Reset</button>
<br/>
<button onclick="upVolume()">Volume up 10%</button>
<button onclick="downVolume()">Volume down 10%</button>
<br/>
<input type="button" value="Click for chorus" onclick="goToChorus()">
</body>
</html>
好的,重要的事先说。将您的 JavaScript 代码从 <head>
元素中取出。这打破了
var mediaClip = document.getElementbyId("mediaClip");
因为它试图在浏览器深入到那行代码 并创建 DOM 元素之前寻找元素 "mediaClip" 。在 HTML 代码之后添加 JavaScript 将允许浏览器创建 DOM 元素,然后您的代码将 运行.
其次,您的 JavaScript 中有一些拼写错误。您尝试使用方法 getElementbyId
两次(注意小写 b
)。将这些更改为 getElementById
应该可以解决问题。
好的,现在您的代码将在 DOM 加载后 运行,并将正确找到元素。这应该允许你的其余函数 运行,因为它们都依赖于变量 mediaClip
在开始时被正确设置。
还有一件事:您需要在 upVolume()
和 downVolume()
中添加一些内容来更改滑块 volume1
的值。现在,当您单击 up/down 按钮时,音量会更新,但滑块不会移动。
这是我在上述修改后开始工作的代码的 JSFiddle:http://jsfiddle.net/vcxsn6q7/
某些代码有问题。我找不到任何问题,而且似乎与我的其他有效代码相同。只是调高音量和调低音量以及我遇到问题的 goToChorus。感谢您的帮助!
<!DOCTYPE html>
<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").value;
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");
mediaClip.volume = document.getElementById("volume1").value;
}
function backStart() {
document.getElementById("mediaClip").currentTime = 0;
}
function upVolume() {
if (mediaClip.volume < 1)
{
mediaClip.volume += 0.1;
}
}
function downVolume() {
if (mediaClip.volume > 0)
{
mediaClip.volume -= 0.1;
}
}
function goToChorus() {
mediaClip.currenTime = 55;
}
</script>
</head>
<body onload="init()">
<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">
<input type="range" onchange="setVolume()" id='volume1' min=0 max=1 step=0.01 value='1'/>
<br/>
<button onclick ="backStart()">Reset</button>
<br/>
<button onclick="upVolume()">Volume up 10%</button>
<button onclick="downVolume()">Volume down 10%</button>
<br/>
<input type="button" value="Click for chorus" onclick="goToChorus()">
</body>
</html>
好的,重要的事先说。将您的 JavaScript 代码从 <head>
元素中取出。这打破了
var mediaClip = document.getElementbyId("mediaClip");
因为它试图在浏览器深入到那行代码 并创建 DOM 元素之前寻找元素 "mediaClip" 。在 HTML 代码之后添加 JavaScript 将允许浏览器创建 DOM 元素,然后您的代码将 运行.
其次,您的 JavaScript 中有一些拼写错误。您尝试使用方法 getElementbyId
两次(注意小写 b
)。将这些更改为 getElementById
应该可以解决问题。
好的,现在您的代码将在 DOM 加载后 运行,并将正确找到元素。这应该允许你的其余函数 运行,因为它们都依赖于变量 mediaClip
在开始时被正确设置。
还有一件事:您需要在 upVolume()
和 downVolume()
中添加一些内容来更改滑块 volume1
的值。现在,当您单击 up/down 按钮时,音量会更新,但滑块不会移动。
这是我在上述修改后开始工作的代码的 JSFiddle:http://jsfiddle.net/vcxsn6q7/