AudioProcessingEvent: outputBuffer-Eigenschaft
Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.
Die schreibgeschützte Eigenschaft outputBuffer
des AudioProcessingEvent
-Interfaces repräsentiert den Ausgabepuffer eines Audiobearbeitungsereignisses.
Der Ausgabepuffer wird durch ein AudioBuffer
-Objekt dargestellt, das eine Sammlung von Audiokanälen enthält, von denen jeder ein Array von Gleitkommawerten ist, das die Audio-Signalwelle als eine Reihe von Amplituden kodiert repräsentiert. Die Anzahl der Kanäle und die Länge jedes Kanals werden durch die Kanalanzahl und die Puffergrößeneigenschaften des AudioBuffer
bestimmt.
Wert
Ein AudioBuffer
-Objekt.
Beispiele
In diesem Beispiel wird ein ScriptProcessorNode
mit einer Puffergröße von 256 Samples, 2 Eingangskanälen und 2 Ausgangskanälen erstellt. Wenn ein audioprocess
-Ereignis ausgelöst wird, werden die Eingangs- und Ausgangspuffer aus dem Ereignisobjekt abgerufen. Die Audiodaten im Eingabepuffer werden verarbeitet und das Ergebnis in den Ausgabepuffer geschrieben. In diesem Fall werden die Audiodaten um den Faktor 0,5 skaliert.
const audioContext = new AudioContext();
const processor = audioContext.createScriptProcessor(256, 2, 2);
processor.addEventListener("audioprocess", (event) => {
const inputBuffer = event.inputBuffer;
const outputBuffer = event.outputBuffer;
for (let channel = 0; channel < outputBuffer.numberOfChannels; channel++) {
const inputData = inputBuffer.getChannelData(channel);
const outputData = outputBuffer.getChannelData(channel);
// Process the audio data here
for (let i = 0; i < outputBuffer.length; i++) {
outputData[i] = inputData[i] * 0.5;
}
}
});
processor.connect(audioContext.destination);
Spezifikationen
Specification |
---|
Web Audio API> # dom-audioprocessingevent-outputbuffer> |
Browser-Kompatibilität
Loading…