最近在搞一个音乐播放器,在获取音频总时长的时候,总是获取到NAN,这有点搞不懂了,然后在网上查询资料,得到了解决方案
var video=document.getElementsByClassName('video1')[0]; video.oncanplay = function () { var minu=Math.floor(this.duration/60); minu=minu.toString().length==1? ('0'+ minu):minu; var mia=Math.round(this.duration%60); mia=mia.toString().length==1? ('0'+ mia):mia; $('.musice_n').text(minu+":"+mia) }
如果直接video.duration获取的是NAN,原因貌似是加载音频是异步的,刚刷新完页面还没有加载完成的音频资源,所以得到的是NAN,需要使用oncanplay事件监听,事件的具体作用是当浏览器能够开始播放指定的音频/视频时,发生 canplay 事件,那么我们就能够正确的获取到音频的总时长以秒为单位,接下来就是转换了,以上案例也附带了转换时间+秒,之前没有研究过音频,用到的时候感觉音频的属性和事件停多的,过段时间会一一整理出来和大家分享下
发表评论
侧栏公告
寄语
譬如朝露博客是一个分享前端知识的网站,联系方式11523518。
热评文章
标签列表
热门文章
友情链接