MediaSource: duration property
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Note: This feature is available in Dedicated Web Workers.
Thuộc tính duration của giao diện MediaSource lấy và đặt thời lượng của media hiện đang được trình bày.
Giá trị
Một số thực (double). Giá trị mong đợi tính bằng giây.
Ngoại lệ
Các ngoại lệ sau có thể được ném ra khi đặt giá trị mới cho thuộc tính này.
InvalidAccessErrorDOMException-
Ném ra nếu có cố gắng đặt giá trị thời lượng âm hoặc
NaN. InvalidStateErrorDOMException-
Ném ra nếu
MediaSource.readyStatekhông bằngopen, hoặc một hoặc nhiều đối tượngSourceBuffertrongMediaSource.sourceBuffersđang được cập nhật (tức là thuộc tínhSourceBuffer.updatingcủa chúng làtrue).
Ví dụ
Đoạn code sau dựa trên một ví dụ do Nick Desaulniers viết (xem demo trực tiếp đầy đủ, hoặc tải mã nguồn xuống để xem kỹ hơn). Hàm getMediaSource(), không được định nghĩa ở đây, trả về một MediaSource.
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);
});
}
// …
Thông số kỹ thuật
| Specification |
|---|
| Media Source Extensions™> # dom-mediasource-duration> |