我正在创建一个简单的HTML5音频播放器。我希望用户能够将搜索栏滑块拖动到他们想要的任何时间,但是使用我目前拥有的代码,当timeupdate触发时,滑块返回到原始位置(+1)。如何在用户拖动滑块时禁用搜索栏?
$("#html5audio_seek").bind("change", function() {
html5audio.currentTime = $(this).val();
$("#html5audio_seek").attr("max", html5audio.duration);
});
html5audio.addEventListener('timeupdate',function (){
curtime = parseInt(html5audio.currentTime, 10);
$("#html5audio_seek").attr("value", curtime);
});
答案 0 :(得分:3)
在评论中建议使用@Zeratops进行修改,修改后的代码来自this answer。
添加了一个布尔“playbool”,如果音频正在播放(播放按钮已被点击),则为true;如果音频暂停,则为false(播放按钮尚未点击,点击暂停按钮)。
但是,在播放音频时单击搜索栏(根本不移动鼠标)将无效。
$("#html5audio_seek").on("mouseup", function () {
html5audio.currentTime = $("#html5audio_seek").val();
if (playbool) {html5audio.play();}
});
$("#html5audio_seek").on("mousedown", function () {
if (playbool) {html5audio.pause();}
});
html5audio.addEventListener('timeupdate',function (){
curtime = parseInt(html5audio.currentTime, 10);
$("#html5audio_seek").attr("value", curtime);
});