OfflineAudioContext: OfflineAudioContext() Konstruktor

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

Der OfflineAudioContext() Konstruktor—Teil der Web Audio API—erstellt und gibt eine neue Instanz eines OfflineAudioContext-Objektes zurück, das dann verwendet werden kann, um Audio in einen AudioBuffer statt in ein Audio-Ausgabegerät zu rendern.

Syntax

js
new OfflineAudioContext(options)

new OfflineAudioContext(numberOfChannels, length, sampleRate)

Parameter

Sie können die Parameter für den OfflineAudioContext() Konstruktor entweder als dasselbe Set von Parametern angeben, die als Eingaben in die Methode BaseAudioContext.createBuffer verwendet werden, oder indem Sie diese Parameter in einem options-Objekt übergeben. In beiden Fällen sind die einzelnen Parameter dieselben.

numberOfChannels

Ein ganzzahliger Wert, der die Anzahl der Kanäle spezifiziert, die der resultierende AudioBuffer haben soll.

length

Ein ganzzahliger Wert, der die Größe des Puffers spezifiziert, der für den Audio-Kontext erstellt werden soll, in Sample-Frames, wobei ein Sample-Frame eine Einheit ist, die eine einzelne Audio-Datenprobe für jeden Kanal in den Audiodaten enthalten kann. Zum Beispiel hätte ein 5-Sekunden-Puffer mit einer sampleRate von 48000Hz eine Länge von 5 * 48000 = 240000 Sample-Frames.

sampleRate

Die Abtastrate der linearen Audiodaten in Sample-Frames pro Sekunde. Alle Benutzeragenten müssen einen Bereich von 8000Hz bis 96000Hz unterstützen und können einen breiteren Bereich unterstützen. Die am häufigsten verwendete Rate ist 44100Hz, die Abtastrate, die von CD-Audio verwendet wird.

Es ist wichtig zu beachten, dass, während Sie einen neuen AudioContext mit dem AudioContext() Konstruktor ohne Argumente erstellen können, der OfflineAudioContext() Konstruktor drei Argumente erfordert, da er einen AudioBuffer erstellen muss. Dies funktioniert genau so, wie wenn Sie einen neuen AudioBuffer mit der BaseAudioContext.createBuffer Methode erstellen. Weitere Details finden Sie im Abschnitt Audiodatenpuffer: Frames, Samples und Kanäle aus unserem Grundlegende Konzepte Leitfaden.

Rückgabewert

Ein neues OfflineAudioContext Objekt, dessen zugehöriger AudioBuffer wie gewünscht konfiguriert ist.

Wie ein regulärer AudioContext kann ein OfflineAudioContext das Ziel von Ereignissen sein, daher implementiert er das EventTarget Interface.

Beispiele

js
const offlineCtx = new OfflineAudioContext({
  numberOfChannels: 2,
  length: 44100 * 40,
  sampleRate: 44100,
});
const source = offlineCtx.createBufferSource();
// …

Für ein vollständig funktionierendes Beispiel sehen Sie sich unser offline-audio-context-promise GitHub Repository an (siehe auch den Quellcode.)

Spezifikationen

Specification
Web Audio API
# dom-offlineaudiocontext-offlineaudiocontext

Browser-Kompatibilität

BCD tables only load in the browser