MediaSource: duration-Eigenschaft

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.

Die duration-Eigenschaft der MediaSource-Schnittstelle ermöglicht das Abrufen und Setzen der Dauer des aktuell präsentierten Mediums.

Wert

Ein double. Ein Wert in Sekunden wird erwartet.

Ausnahmen

Die folgenden Ausnahmen können ausgelöst werden, wenn ein neuer Wert für diese Eigenschaft gesetzt wird.

InvalidAccessError DOMException

Wird ausgelöst, wenn versucht wird, einen negativen oder NaN als Dauerwert zu setzen.

InvalidStateError DOMException

Wird ausgelöst, wenn MediaSource.readyState nicht gleich open ist oder eines oder mehrere der SourceBuffer-Objekte in MediaSource.sourceBuffers aktualisiert werden (d.h. deren SourceBuffer.updating-Eigenschaft true ist).

Beispiele

Der folgende Codeausschnitt basiert auf einem Beispiel von Nick Desaulniers (sehen Sie die vollständige Demo live oder laden Sie den Quellcode herunter für weitere Untersuchungen). Die Funktion getMediaSource(), die hier nicht definiert ist, gibt eine MediaSource zurück.

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

// …

Spezifikationen

Specification
Media Source Extensions™
# dom-mediasource-duration

Browser-Kompatibilität

Siehe auch