Firefox关于Audio事件的bug及解决方案
来源:互联网 发布:linux版本介绍 编辑:程序博客网 时间:2024/06/05 06:35
- bug起因
- 解决方法
bug起因
在项目需求中,需要在播放器的进度条部分添加标签,标签按照时间节点分布,因此需要获取整个音频的时长audio.duration
,在chrome中,可以给audio的canplay
事件绑定函数获取时长,然后调用渲染标签的函数,但是在firefox中,以这种方式绑定的函数无法运行:
audio.addEventListener("canplay", function () { duration = audio.duration; showTags(); }, false);
解决方法
在W3C的测试页面,火狐是可以运行的,但使用断点调试时,无法运行到函数内部的代码,经过多次尝试,在以下三种方法中,
<audio|video oncanplay="SomeJavaScriptCode">audio|video.oncanplay=SomeJavaScriptCode;audio|video.addEventListener("canplay", function() { //SomeJavaScriptCode });
第一种无法运行在document.ready之后定义的函数,第三种完全无法运行,只有第二种,将audio.oncanplay = showTags();
可以运行。
但这种方法在chrome中,如果在函数内部获取audio.duration
,则会显示NaN
。
最后的解决办法是将火狐和chrome的方法都写上以兼容不同的浏览器,,因为canplay不能绑定两个函数,所以后面用canplaythrough
来代替。
audio.oncanplay = showTags(); // 其他 audio.addEventListener("canplaythrough", function () { duration = audio.duration; // alert(duration); showTags(); }, false);
0 0
- Firefox关于Audio事件的bug及解决方案
- firefox-5.x关于img标签的load事件、svg、ff5.4audio标签显示的适配tip
- 关于Realtek HD Audio声卡在WES2009及XPE SP3上安装问题的解决方案
- Firefox关于tab的一个bug
- 关于firefox中一些问题的解决方案
- IE和Firefox的差异及解决方案
- 关于cocos2dx程序的BUG调试解决方案
- cocos-js关于H5checkBOX的BUG解决方案
- FireFox的一个bug
- 关于原版poi中的一个bug及解决方案
- 关于web前端一些常见bug及解决方案
- 关于FireFox的启动速度及优化
- 关于FireFox的启动速度及优化
- 关于win,linux下firefox以及谷歌内核浏览器网页播放视频的问题及解决方案
- 关于audio的总结
- 关于audio的总结
- IE下设置unselectable与onselectstart属性的bug,Firefox与Chrome下的解决方案
- 关于h264bitstream的bug修正及完善
- Bootstrap基本使用
- NBOJv2 1050 Just Go(线段树/树状数组区间更新单点查询)
- 全面学习JQuery动态滚动加载web网页内容
- 山东理工OJ 2278 商人的诀窍
- bootstrap, boosting, bagging 几种方法的联系
- Firefox关于Audio事件的bug及解决方案
- gson 的使用 解析json字符串
- poj2506
- windows消息机制(MFC)
- Leetcode 165. Compare Version Numbers (Easy) (cpp)
- 过目不忘 JS 正则表达式
- [LeetCode] 26. Remove Duplicates from Sorted Array
- java.util.ConcurrentModificationException异常及解决方案
- GBDT(MART) 迭代决策树入门教程 | 简介