audio.duration是固定价值还是增长价值?

时间:2014-02-11 14:30:51

标签: javascript html5 html5-video html5-audio

我一直在寻找这个问题的答案,但却陷入了困境。

HTML5音频/视频属性duration的值是否随着缓冲而膨胀,或者是媒体数据附带的预先计算的元数据值?

测试时,我只收到一个durationchange事件调用(Chrome首先将持续时间设置为0,然后设置为总媒体长度除外),因此我认为持续时间值是固定的元数据属性。但我不想将此视为理所当然,因为这确实影响了我应该在代码结构中使用的方法。

1 个答案:

答案 0 :(得分:1)

根据the HTML5 spec:

  

duration属性必须在media resource上以秒为单位返回media timeline结尾的时间。如果没有media data可用,则属性必须返回Not-a-Number(NaN)值。如果不知道media resource是否有界限(例如流媒体广播,或没有宣布结束时间的直播事件),则该属性必须返回正无限值。

由于media resource是规范中的

  

完整的媒体数据集,例如完整的视频文件或完整的音频文件

然后duration是一个固定值,而不是随浏览器接收媒体而增长的值。