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 gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2021 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Die MediaStream Recording API, manchmal auch als Media Recording API oder MediaRecorder API bezeichnet, ist eng verbunden mit der Media Capture and Streams API und der WebRTC API. Die MediaStream Recording API ermöglicht es, die von einem MediaStream oder einem HTMLMediaElement erzeugten Daten für Analyse, Verarbeitung oder Speicherung auf der Festplatte zu erfassen. Sie ist auch überraschend einfach zu verwenden.
Die MediaStream Recording API besteht aus einer einzigen Hauptschnittstelle, MediaRecorder, die die Aufgabe hat, die Daten von einem MediaStream zu nehmen und sie Ihnen zur Verarbeitung bereitzustellen. Die Daten werden durch eine Reihe von dataavailable Ereignissen geliefert, bereits in dem von Ihnen bei der Erstellung des MediaRecorder angegebenen Format. Sie können die Daten dann weiterverarbeiten oder wie gewünscht auf eine Datei schreiben.
Der Prozess des Aufnehmens eines Streams ist einfach:
Hinweis: Einzelne Blobs, die Scheiben der aufgenommenen Medien enthalten, sind nicht unbedingt einzeln abspielbar. Die Medien müssen vor der Wiedergabe neu zusammengestellt werden.
Wenn während der Aufnahme etwas schiefgeht, wird ein error Ereignis an den MediaRecorder gesendet. Sie können auf error Ereignisse hören, indem Sie einen onerror Ereignishandler einrichten.
Im folgenden Beispiel verwenden wir ein HTML Canvas als Quelle des MediaStream und beenden die Aufnahme nach 9 Sekunden.
Sie können auch die Eigenschaften des MediaRecorder Objekts verwenden, um den Status des Aufnahmeprozesses zu bestimmen, und seine Methoden pause() und resume(), um die Aufnahme des Quellmediums zu pausieren und fortzusetzen.
Wenn Sie prüfen möchten, ob ein bestimmter MIME-Typ unterstützt wird, ist dies ebenfalls möglich. Rufen Sie einfach MediaRecorder.isTypeSupported() auf.
Wenn Sie planen, Kamera- und/oder Mikrofoneingaben aufzuzeichnen, möchten Sie möglicherweise die verfügbaren Eingabegeräte überprüfen, bevor Sie mit dem Aufbau des MediaRecorder beginnen. Dazu müssen Sie navigator.mediaDevices.enumerateDevices() aufrufen, um eine Liste der verfügbaren Mediengeräte zu erhalten. Sie können dann diese Liste überprüfen und die potenziellen Eingabequellen identifizieren und sogar die Liste nach gewünschten Kriterien filtern.
In diesem Code-Snippet wird enumerateDevices() verwendet, um die verfügbaren Eingabegeräte zu überprüfen, solche zu lokalisieren, die Audioeingabegeräte sind, und <option> Elemente zu erstellen, die dann einem <select> Element hinzugefügt werden, das einen Eingabequellen-Wähler darstellt.
Ähnlicher Code kann verwendet werden, um dem Benutzer zu ermöglichen, die Menge der Geräte einzuschränken, die er verwenden möchte.
Um mehr über die Verwendung der MediaStream Recording API zu lernen, lesen Sie Using the MediaStream Recording API, das zeigt, wie Sie die API verwenden, um Audio-Clips aufzuzeichnen. Ein zweiter Artikel, Recording a media element, beschreibt, wie man einen Stream von einem <audio> oder <video> Element empfängt und den erfassten Stream verwendet (in diesem Fall aufnehmen und auf einer lokalen Festplatte speichern).
Jedes Mal, wenn ein Chunk von Mediendaten fertig aufgenommen wurde, wird es den Nutzern in Blob Form über ein BlobEvent vom Typ dataavailable geliefert.
MediaRecorderDie primäre Schnittstelle, die die MediaStream Recording API implementiert.
MediaRecorderErrorEventDie Schnittstelle, die Fehler darstellt, die von der MediaStream Recording API geworfen werden. Ihre error Eigenschaft ist eine DOMException, die den aufgetretenen Fehler spezifiziert.
| MediaStream Recording |
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.