如何在jQuery中启动和停止音频文件?
$("ul").on("click", ".start", function() {
console.log("started");
var timeInput = $(this).parent().children('.time');
var timeInputValue = timeInput.val();
var milliSeconds = Number(timeInputValue)*60*1000;
console.log(milliSeconds);
setTimeout(() => {
audio.play();
alert("Time Over");
audio.pause();
$(this).parent().children('.task').toggleClass("completed");
}, milliSeconds);
})
<audio src="assets/audio/siren.mp3" id="audio"></audio>
我不知道这件事。我有种从简单的空气中拉出应用程序的功能,并尝试。所以,显然我所做的是错误的,因为它不起作用。如何在jQuery中启动和停止音频文件?
我想要做的是让setTimout函数播放一个音频文件。然后会来一个警戒框,然后停止。
请帮我解决这个问题。
谢谢你
你从来没有真正将audio
设置为任何东西。
var audio = document.getElementById('audio');
audio.play();
alert('this is a blocking function, once closed the audio will stop');
audio.pause();
此外,你设置你的音频播放,警报,然后在超时后停止。 alert
是一个阻止功能,因此音频将播放直到您关闭警报,使超时无用,除了延迟音频开始milliSeconds
。
嗨,是的,我的代码开始工作。但是,是否有停止而不是暂停? –
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio – Brian
你并不需要使用jquery的JavaScript播放声音
Javascritpt
var audio = document.getElementById('audio');
//Play
audio.play();
//Pause
audio.pause();
//Stop
sound.pause();
sound.currentTime = 0;
如果要检测的音频结束时,您可以使用ended
media event
audio.addEventListener("ended", function(){
audio.pause();
audio.currentTime = 0;
$(this).parent().children('.task').toggleClass("completed");
console.log("ended");
});
你不需要jQuery来启动/停止音频。 – Satpal
你应该有什么工作 - 假设你的'音频'变量是'
的引用请参阅下面的链接一步一步的解释。 http://stackoverflow.com/questions/8489710/play-an-audio-file-using-jquery-when-a-button-is-clicked – 2016-11-22 13:41:47