MediaSource: duration property

Khả dụng hạn chế

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.

InvalidAccessError DOMException

Ném ra nếu có cố gắng đặt giá trị thời lượng âm hoặc NaN.

InvalidStateError DOMException

Ném ra nếu MediaSource.readyState không bằng open, hoặc một hoặc nhiều đối tượng SourceBuffer trong MediaSource.sourceBuffers đang được cập nhật (tức là thuộc tính SourceBuffer.updating củ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.

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);
  });
}

// …

Thông số kỹ thuật

Thông số kỹ thuật
Media Source Extensions™
# dom-mediasource-duration

Tương thích trình duyệt

Xem thêm