在Chrome 65.0.3325.181(正式版本) (64 位)中,audio标签的loop属性不生效。编写对应逻辑执行后报错。
代码如下:
//html
<audio id="backgroundAudio" src="./resource/sound/bgMusic.mp3" autoplay loop/>
//js
var audio = $("#backgroundAudio")[0];
audio.addEventListener('timeupdate',()=>{
if(audio.paused){
return;
}
if(audio.currentTime >= audio.duration - 1){
audio.currentTime = 0;
const p = audio.play();
//添加注释后代码后,可以正确执行
// if (p && (typeof Promise !== 'undefined') && (p instanceof Promise)) {
// p.catch(e => log(e));
// }
}
});
报错信息如下:
Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause().
我想知道为什么会出现这个错误,以及为何添加注释代码后可以正确执行了,还有loop属性为何没有生效。
loop属性是因为音频文件有问题,已解决
亲测loop属性有效。我的版本是 65.0.3325.181(正式版本) (32 位)