PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

html5返回当前音频/视频的长度以秒计的属性duration

黄舟
黄舟 原创
2017-11-08 13:57:21 3732浏览

实例

获得当前视频的长度:

myVid=document.getElementById("video1");
alert(myVid.duration);

定义和用法

duration 属性返回当前音频/视频的长度,以秒计。

如果未设置音频/视频,则返回 NaN (Not-a-Number)。

浏览器支持

所有主流浏览器都支持 duration 属性。

注释:Internet Explorer 8 或更早的浏览器不支持该属性。

语法

audio|video.duration

技术细节

返回值数字值,表示音频/视频的长度,以秒计。

根据JavaScript高级程序设计中P489页的程序,我写了以下程序







  Video player is not available.

0/0

window.onload=function(){ var oPlayer=document.getElementById('player'); var oBtn=document.getElementById("video-btn"); var oCurtime=document.getElementById('curtime'); var oDuration=document.getElementById('duration'); oDuration.innerHTML=oPlayer.duration; oBtn.onclick=function(){ if(oPlayer.paused){ oPlayer.play(); oBtn.value="Pause"; }else{ oPlayer.pause(); oBtn.value="Play"; } }; setInterval(function(){ oCurtime.innerHTML=oPlayer.currentTime; },250); };

由于IE8及其之前的版本不支持video标签,所以不显示。

但是在IE9,10,11支持的情况下,为什么会显示

并且,使用alert(oPlayer.duration);页面是能够弹出该视频的时间的。

但是为什么oDuration.innerHTML=oPlayer.duration;这句话会显示NaN?

对此,我又尝试了一下代码

var duration1=oPlayer.duration;
alert(duration1);//NaN
alert(oPlayer.duration);//3625.982

由上面的结果,可以看出将oPlayer.duration的值赋给一个变量后这个变量的值是NaN。但是为什么?根据定义oPlayer.duration属性返回的是一个数值,为什么数值赋给一个变量会变成NaN?现在还不懂。


以上就是html5返回当前音频/视频的长度以秒计的属性duration的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。