你好我想弄清楚为什么某些元素没有正确暂停。我一直试图想出这个简单的错误。我在音频标签上有一个点击事件,当我播放音频时,我想暂停它,它完美地工作,Buttt ..当我再次按下音频标签时,它从音频文件的开头开始,它应该在我暂停的地方停下来。我的代码片段在下面...我的猜测是我的src属性每次点击暂停时都会向服务器重新发送一个全新的请求,而且它不应该......(因此数据是mp3的一个对象,我正在循环)所以,如果有人能帮助我解决这个快速问题,那就太棒了! ...
HTML:
<div>
<audio id="audio"></audio>
<div id="btnPlay">Play</div>
<div id="btnPause">Pause</div>
<div>
JS:
document.getElementById("btnPlay").onclick = function (e) {
var player = document.getElementById("audio");
player.src = "admin/" + "admin_data/" + "member_sounds/" + obj["sounds_name"];
player.play();
};
document.getElementById("btnPause").onclick = function (e) {
var player = document.getElementById("audio");
player.pause();
};
答案 0 :(得分:0)
如果发生这种情况,因为当您点击播放按钮时,您正在设置源,这将在某些浏览器中调用新的加载操作并重置开始位置(您可以播放的唯一原因是文件从缓存加载为加载是异步的。)
尝试在播放按钮外设置src:
var player = document.getElementById("audio");
player.preload = 'auto';
/// you should really add a canplay event handler here...
player.src = "admin/" + "admin_data/" + "member_sounds/" + obj["sounds_name"];
document.getElementById("btnPlay").onclick = function (e) {
player.play();
};