Javascript 使用jQuery将音频播放限制在特定的时间段内
我有一个用例,需要在单击某个元素时播放音频。音频播放得很好,但持续时间比我想象的要长一点。我希望它在几秒钟后暂停(停止)。我可以提醒持续时间,我还尝试应用停止和/或暂停方法,这两种方法都不起作用。有什么想法吗?我很肯定你们中的一些人可能遇到过这样的情况。这是我的密码 jQueryJavascript 使用jQuery将音频播放限制在特定的时间段内,javascript,jquery,html,audio,Javascript,Jquery,Html,Audio,我有一个用例,需要在单击某个元素时播放音频。音频播放得很好,但持续时间比我想象的要长一点。我希望它在几秒钟后暂停(停止)。我可以提醒持续时间,我还尝试应用停止和/或暂停方法,这两种方法都不起作用。有什么想法吗?我很肯定你们中的一些人可能遇到过这样的情况。这是我的密码 jQuery var audioElement = document.createElement('audio'); audioElement.setAttribute('src', 'sound/crack.mp3
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'sound/crack.mp3');
$('#thanksBanner').click(function() {
audioElement.play();
});
audioElement.addEventListener("loadedmetadata", function(_event) {
var duration = audioElement.duration;
//TODO whatever
var ourDuration = duration - 1.5;
if (duration > ourDuration) {
audioElement.pause();
alert(duration);
};
});
您必须监听当前播放位置更改时触发的事件。并检查事件处理程序中的位置
var audioElement = document.createElement('audio');
audioElement.setAttribute('src', 'sound/crack.mp3');
$('#thanksBanner').click(function() {
audioElement.play();
setInterval(function() {
});
audioElement.addEventListener('timeupdate', function() {
var t = audioElement.currentTime;
if (t > audioElement.duration - 1.5) {
audioElement.pause();
alert(t); //can be removed once it works.
}
};
为什么使用
“loadedmetadata”
事件?这不是你的案子。您必须在setInterval
(或setTimeout
)回调中检查持续时间我对javascript比较陌生,请忽略任何noob错误。我会查一查。不过,我非常欣赏一个例子。非常感谢。我会试试这个然后再给你回复。时间更新后应该有逗号吗?你的代码对我有用。那是一吨。但是你有一个打字错误。您在时间戳
参数后遗漏了一个逗号。我接受了你的回答。