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

View in English Always switch to English

MediaRecorder: MediaRecorder() Konstruktor

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2021 browserübergreifend verfügbar.

Der MediaRecorder() Konstruktor erstellt ein neues MediaRecorder-Objekt, das einen angegebenen MediaStream aufzeichnen wird.

Das Objekt kann optional so konfiguriert werden, dass es unter Verwendung eines bestimmten Mediencontainers (Dateityps) aufzeichnet und es kann weiter spezifizieren, welcher Codec und welche Codec-Konfiguration(en) verwendet werden sollen, indem der codecs-Parameter angegeben wird.

Syntax

js
new MediaRecorder(stream)
new MediaRecorder(stream, options)

Parameter

stream

Der MediaStream, der aufgezeichnet werden soll. Diese Quellmedien können von einem Stream stammen, der mit navigator.mediaDevices.getUserMedia() erstellt wurde, oder von einem <audio>, <video> oder <canvas> Element.

options Optional

Ein Wörterbuch-Objekt, das die folgenden Eigenschaften enthalten kann:

mimeType Optional

Ein MIME-Typ, der das Format für die resultierenden Medien spezifiziert; Sie können das Containerformat angeben (der Browser wählt seine bevorzugten Codecs für Audio und/oder Video aus), oder Sie können den codecs-Parameter und/oder den profiles-Parameter verwenden, um detaillierte Informationen darüber zu liefern, welche Codecs verwendet werden sollen und wie sie zu konfigurieren sind. Anwendungen können im Voraus prüfen, ob ein mimeType vom User-Agent unterstützt wird, indem sie MediaRecorder.isTypeSupported() aufrufen. Standardmäßig leer.

audioBitsPerSecond Optional

Die gewählte Bitrate für die Audiokomponente der Medien.

videoBitsPerSecond Optional

Die gewählte Bitrate für die Videokomponente der Medien.

bitsPerSecond Optional

Die gewählte Bitrate für die Audio- und Videokomponenten der Medien. Dies kann anstelle der obigen beiden Eigenschaften angegeben werden. Wenn dies zusammen mit einer der obigen Eigenschaften angegeben wird, wird dies für die nicht spezifizierte Eigenschaft verwendet.

audioBitrateMode Optional

Der Bitratenmodus, der zum Codieren des Audios verwendet werden soll. Kann constant sein, was angibt, dass der Rekorder mit einer konstanten Bitrate codieren soll, oder variable, was angibt, dass der Rekorder mit einer variablen Bitrate codieren soll, um so mehr Platz für komplexe Signale und weniger Platz für weniger komplexe Signale zu verwenden. Standard ist variable.

videoKeyFrameIntervalDuration Optional

Das nominale Zeitintervall zwischen Keyframes im codierten Videostream. Der User-Agent steuert die Keyframe-Erzeugung basierend auf dieser Option und der videoKeyFrameIntervalCount Option.

videoKeyFrameIntervalCount Optional

Das Intervall in der Anzahl der Frames zwischen Keyframes im codierten Videostream. Der User-Agent steuert die Keyframe-Erzeugung unter Berücksichtigung dieser Option sowie der videoKeyFrameIntervalDuration Option.

Hinweis: Wenn keine Bitraten für Video und/oder Audio angegeben sind, wird standardmäßig für Video 2,5 Mbps oder 10 Mbps angenommen, je nach Browser. Der Audio-Standard ist adaptiv, abhängig von der Abtastrate und der Anzahl der Kanäle.

Hinweis: Videoauflösung, Bildrate und ähnliche Einstellungen werden als Einschränkungen beim Aufruf von getUserMedia() angegeben, nicht hier in der MediaStream Recording API.

Ausnahmen

NotSupportedError DOMException

Ausgelöst, wenn der angegebene MIME-Typ vom User-Agent nicht unterstützt wird.

Beispiele

Dieses Beispiel zeigt, wie man einen Medienrekorder für einen angegebenen Stream erstellt, dessen Audio-Bitrate auf 128 Kbit/s und dessen Video-Bitrate auf 2,5 Mbit/s eingestellt ist. Die aufgezeichneten Mediendaten werden in einem MP4-Container gespeichert (wenn Sie die Medien-Datenblöcke sammeln und auf der Festplatte speichern, werden sie in einer MP4-Datei sein).

js
if (navigator.mediaDevices.getUserMedia) {
  const constraints = { audio: true, video: true };
  const chunks = [];

  const onSuccess = (stream) => {
    const options = {
      audioBitsPerSecond: 128000,
      videoBitsPerSecond: 2500000,
      mimeType: "video/mp4",
    };
    const mediaRecorder = new MediaRecorder(stream, options);
    m = mediaRecorder;

    // …
  };
}

Spezifikationen

Spezifikation
MediaStream Recording
# dom-mediarecorder-mediarecorder

Browser-Kompatibilität

Siehe auch