bug起因
在项目需求中,需要在播放器的进度条部分添加标签,标签按照时间节点分布,因此需要获取整个音频的时长audio.duration
,在chrome中,可以给audio的canplay
事件绑定函数获取时长,然后调用渲染标签的函数,但是在firefox中,以这种方式绑定的函数无法运行:
audio.addEventListener("canplay", function () {
duration = audio.duration;
showTags();
}, false);
解决方法
在W3C的测试页面,火狐是可以运行的,但使用断点调试时,无法运行到函数内部的代码,经过多次尝试,在以下三种方法中,
<audio|video oncanplay=