Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. MediaSourceHandle

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

MediaSourceHandle

Limited availability

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

Hinweis: Diese Funktion ist inDedicated Web Workers verfügbar.

DasMediaSourceHandle-Interface derMedia Source Extensions API dient als Proxy für einMediaSource, das von einem dedizierten Worker zurück in den Haupt-Thread übertragen werden kann und über seineHTMLMediaElement.srcObject-Eigenschaft an ein Medien-Element angehängt wird.MediaSource-Objekte sind nicht übertragbar, da sie Ereignisziele sind, daher sindMediaSourceHandles erforderlich.

Es kann über dieMediaSource.handle-Eigenschaft aufgerufen werden.

JedesMediaSource-Objekt, das innerhalb eines dedizierten Workers erstellt wird, hat sein eigenesMediaSourceHandle. DerMediaSource.handle-Getter gibt immer dieMediaSourceHandle-Instanz zurück, die speziell mit der zugehörigen dedizierten Worker-MediaSource-Instanz verbunden ist. Wenn der Handle bereits mitpostMessage() an den Haupt-Thread übertragen wurde, ist die Handle-Instanz im Worker technisch abgetrennt und kann nicht erneut übertragen werden.

MediaSourceHandle ist einübertragbares Objekt.

Instanz-Eigenschaften

Keine.

Instanz-Methoden

Keine.

Beispiele

Diehandle-Eigenschaft kann innerhalb eines dedizierten Workers aufgerufen werden, und das resultierendeMediaSourceHandle-Objekt wird dann über einenpostMessage()-Aufruf an den Thread übertragen, der den Worker erstellt hat (in diesem Fall der Haupt-Thread):

js
// Inside dedicated workerlet mediaSource = new MediaSource();let handle = mediaSource.handle;// Transfer the handle to the context that created the workerpostMessage({ arg: handle }, [handle]);mediaSource.addEventListener("sourceopen", () => {  // Await sourceopen on MediaSource before creating SourceBuffers  // and populating them with fetched media — MediaSource won't  // accept creation of SourceBuffers until it is attached to the  // HTMLMediaElement and its readyState is "open"});

Im Haupt-Thread empfangen wir den Handle über einenmessage-Ereignishandler, verknüpfen ihn über seineHTMLMediaElement.srcObject-Eigenschaft mit einem<video> undplay das Video:

js
worker.addEventListener("message", (msg) => {  let mediaSourceHandle = msg.data.arg;  video.srcObject = mediaSourceHandle;  video.play();});

Hinweis:>MediaSourceHandles können nicht erfolgreich in oder über einen Shared Worker oder Service Worker übertragen werden.

Spezifikationen

Specification
Media Source Extensions™
# mediasourcehandle

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp