MediaSource: duration-Eigenschaft

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

Die duration-Eigenschaft des MediaSource-Interfaces dient zum Abrufen und Festlegen der Dauer des aktuell gezeigten Mediums.

Wert

Ein double. Ein Wert in Sekunden wird erwartet.

Ausnahmen

Die folgenden Ausnahmen können auftreten, wenn ein neuer Wert für diese Eigenschaft festgelegt wird.

InvalidAccessError DOMException

Wird ausgelöst, wenn versucht wurde, einen negativen oder NaN-Wert für die Dauer festzulegen.

InvalidStateError DOMException

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

Beispiele

Der folgende Ausschnitt basiert auf einem Beispiel von Nick Desaulniers (das vollständige Demo live ansehen, oder den Quellcode herunterladen 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

BCD tables only load in the browser

Siehe auch