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:
- Wenn
MediaRecorder.state
"inactive" ist, wird ein DOM-InvalidState
-Fehler ausgelöst und diese Schritte werden beendet. WennMediaRecorder.state
nicht "inactive" ist, wird mit dem nächsten Schritt fortgefahren. - Ein
dataavailable
-Ereignis wird ausgelöst, das einBlob
der derzeit aufgenommenen Daten enthält (das Blob ist imdata
-Attribut des Ereignisses verfügbar). - 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 derMediaRecorder
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
- Verwendung der MediaStream Recording API
- Web Diktiergerät: MediaRecorder + getUserMedia + Web Audio API Visualisierungs-Demo von Chris Mills (Quelle auf GitHub.)
- simpl.info MediaStream Recording Demo, von Sam Dutton.
Navigator.getUserMedia()