MediaSource: duration 屬性
注意:此功能在 專用 Web Workers 中可用。
MediaSource 介面的 duration 屬性用於獲取和設定當前正在播放的媒體的時長。
值
一個雙精度浮點數。期望的值單位為秒。
異常
設定此屬性的新值時,可能會丟擲以下異常。
InvalidAccessErrorDOMException-
如果嘗試設定一個負值或
NaN時長值,則會丟擲此異常。 InvalidStateErrorDOMException-
如果
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);
});
}
// …
規範
| 規範 |
|---|
| Media Source Extensions™ # dom-mediasource-duration |
瀏覽器相容性
載入中…