MediaSource:duration 属性
duration
属性是 MediaSource
接口的一个属性,用于获取和设置当前正在呈现的媒体的时长。
值
一个双精度浮点数。预期值为秒。
异常
设置此属性的新值时,可能会抛出以下异常。
InvalidAccessError
DOMException
-
如果尝试设置一个负值或
NaN
作为时长值,则会抛出此异常。 InvalidStateError
DOMException
-
如果
MediaSource.readyState
不等于open
,或者MediaSource.sourceBuffers
中的一个或多个SourceBuffer
对象正在更新(即其SourceBuffer.updating
属性为true
),则会抛出此异常。
示例
以下代码段基于 Nick Desaulniers 编写的简单示例(查看完整演示,或 下载源代码 以进行进一步调查)。未在此处定义的函数 getMediaSource()
返回一个 MediaSource
。
js
const mediaSource = getMediaSource();
function sourceOpen() {
console.log(this.readyState); // open
const sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);
fetchAB(assetURL, (buf) => {
sourceBuffer.addEventListener("updateend", () => {
mediaSource.endOfStream();
mediaSource.duration = 120;
video.play();
console.log(mediaSource.readyState); // ended
});
sourceBuffer.appendBuffer(buf);
});
}
// …
规范
规范 |
---|
媒体源扩展™ # dom-mediasource-duration |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。