MediaRecorder: requestData()-Methode

Die requestData()-Methode des MediaRecorder-Interfaces wird verwendet, um ein dataavailable-Ereignis auszulösen, das ein Blob-Objekt der aufgenommenen Medien enthält, so wie es war, als die Methode aufgerufen wurde. Dies kann dann erfasst und nach Wunsch manipuliert werden.

Wenn die requestData()-Methode aufgerufen wird, stellt der Browser eine Warteschlange mit Aufgaben auf, die die folgenden Schritte ausführt:

  1. Wenn MediaRecorder.state "inactive" ist, wird ein DOM-InvalidState-Fehler ausgelöst und diese Schritte werden beendet. Wenn MediaRecorder.state nicht "inactive" ist, wird mit dem nächsten Schritt fortgefahren.
  2. Ein dataavailable-Ereignis wird ausgelöst, das ein Blob der derzeit aufgenommenen Daten enthält (das Blob ist im data-Attribut des Ereignisses verfügbar).
  3. Ein neues Blob wird erstellt und darauffolgende aufgenommene Daten werden hineingelegt.

Syntax

js
requestData()

Parameter

Keine.

Rückgabewert

Keiner (undefined).

Ausnahmen

InvalidStateError DOMException

Wird ausgelöst, wenn der MediaRecorder aktuell "inactive" ist; Sie können die Aufnahme nicht erfassen, wenn der MediaRecorder nicht aktiv ist.

Beispiele

js
captureMedia.onclick = () => {
  mediaRecorder.requestData();
  // makes snapshot available of data so far
  // ondataavailable fires, then capturing continues
  // in new Blob
};

Spezifikationen

Specification
MediaStream Recording
# dom-mediarecorder-requestdata

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch