Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.
Das MediaSource-Interface der Media Source Extensions API repräsentiert eine Quelle von Mediendaten für ein HTMLMediaElement-Objekt. Ein MediaSource-Objekt kann an ein HTMLMediaElement angehängt werden, um im Benutzeragenten abgespielt zu werden.
EventTarget MediaSourceErstellt und gibt ein neues MediaSource-Objekt zurück, das keine zugeordneten Quellpuffer hat.
Gibt ein SourceBufferList-Objekt zurück, das eine Teilmenge der SourceBuffer-Objekte enthält, die innerhalb von MediaSource.sourceBuffers enthalten sind – die Liste der Objekte, die den ausgewählten Videotrack, aktivierten Audiotracks und angezeigten/versteckten Texttracks bereitstellen.
MediaSource.durationRuft die Dauer des aktuell präsentierten Mediens ab und setzt sie.
MediaSource.handle SchreibgeschütztGibt innerhalb eines dedizierten Workers ein MediaSourceHandle-Objekt zurück, einen Proxy für die MediaSource, der vom Worker zurück in den Hauptthread übertragen und über die HTMLMediaElement.srcObject-Eigenschaft an ein Media-Element angefügt werden kann.
MediaSource.readyState SchreibgeschütztGibt ein Enum zurück, das den Zustand der aktuellen MediaSource darstellt, ob sie derzeit nicht an ein Media-Element angeschlossen ist (closed), angeschlossen und bereit ist, SourceBuffer-Objekte zu empfangen (open), oder angeschlossen, aber der Stream wurde über MediaSource.endOfStream() beendet (ended).
MediaSource.sourceBuffers SchreibgeschütztGibt ein SourceBufferList-Objekt zurück, das die Liste der SourceBuffer-Objekte enthält, die mit dieser MediaSource verknüpft sind.
Ein Boolean; gibt true zurück, wenn MediaSource-Worker-Unterstützung implementiert ist, was einen Mechanismus zur Erkennung von Features mit niedriger Latenz bietet.
Erbt Methoden von seinem Eltern-Interface, EventTarget.
MediaSource.addSourceBuffer()Erstellt einen neuen SourceBuffer des angegebenen MIME-Typs und fügt ihn der Liste MediaSource.sourceBuffers hinzu.
MediaSource.clearLiveSeekableRange()Löscht einen vorher mit einem Aufruf von setLiveSeekableRange() festgelegten suchbaren Bereich.
MediaSource.endOfStream()Signalisiert das Ende des Streams.
MediaSource.removeSourceBuffer()Entfernt den angegebenen SourceBuffer aus der Liste MediaSource.sourceBuffers.
MediaSource.setLiveSeekableRange()Legt den Bereich fest, zu dem der Benutzer im Media-Element springen kann.
Gibt einen Boolean-Wert zurück, der angibt, ob der angegebene MIME-Typ vom aktuellen Benutzeragenten unterstützt wird – ob es also mögliche ist, SourceBuffer-Objekte für diesen MIME-Typ erfolgreich zu erstellen.
Wird ausgelöst, wenn die MediaSource-Instanz nicht mehr an ein Media-Element angeschlossen ist.
sourceendedWird ausgelöst, wenn die MediaSource-Instanz immer noch an ein Media-Element angeschlossen ist, aber endOfStream() aufgerufen wurde.
sourceopenWird ausgelöst, wenn die MediaSource-Instanz von einem Media-Element geöffnet wurde und bereit ist, Daten zu den SourceBuffer-Objekten in sourceBuffers hinzuzufügen.
Das folgende einfache Beispiel lädt ein Video mit XMLHttpRequest und spielt es so schnell wie möglich ab. Dieses Beispiel wurde von Nick Desaulniers geschrieben und kann hier live angesehen werden (Sie können den Quellcode herunterladen, um ihn weiter zu untersuchen). Die Funktion getMediaSource(), die hier nicht definiert ist, gibt eine MediaSource zurück.
Die handle-Eigenschaft kann innerhalb eines dedizierten Workers aufgerufen werden, und das resultierende MediaSourceHandle-Objekt wird dann über einen postMessage()-Aufruf an den Thread, der den Worker erstellt hat (in diesem Fall der Hauptthread), übertragen:
Im Hauptthread empfangen wir das Handle über einen message-Ereignishandler, fügen es einer <video> über seine HTMLMediaElement.srcObject-Eigenschaft hinzu und play das Video:
Hinweis:>MediaSourceHandles können nicht erfolgreich in einen Shared Worker oder Service Worker übertragen werden oder durch einen solchen hindurch.
| Media Source Extensions™ # mediasource |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.