我有一个javascript加载的mp3文件,如下所示:
var q=new Audio('path/to/file');
var restart=function(){
q.currentTime=0;
q.play();
};
q.addEventListener('canplaythrough',function(){
setInterval(9000,restart);
});
音频文件只有大约5秒钟长。第一次调用
restart
没问题。但是,在9秒后的下一个 call 中,音频重新启动并播放,但浏览器崩溃。甚至控制台崩溃,因此我无法检查任何内容或读取任何错误。我正在使用最新版的chrome。我已经用几个文件测试了此代码,以确保它不是损坏问题。 最佳答案
似乎设置cuurentTime
会触发canplaythrough
事件。我通过在触发后删除事件处理程序解决了该问题:
var q=new Audio('path/to/file');
var restart=function(){
q.currentTime=0;
q.play();
};
var ff=function(){
setInterval(9000,restart);
q.removeEventListener('canplaythrough',ff);
};
q.addEventListener('canplaythrough',ff);
关于html - 为什么我的音频代码崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24701329/