为什么我的音频代码崩溃了

时间:2014-07-11 15:28:20

标签: html audio mp3

我喜欢用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秒后,音频重新启动并播放,但浏览器崩溃。即使控制台崩溃,我也无法检查任何内容或读取任何错误。我使用的是最新版本的chrome。我已经使用多个文件测试了此代码,以确保它不是腐败问题。

1 个答案:

答案 0 :(得分:0)

似乎设置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);