AudioBuffer: copyFromChannel() Methode
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.
Die copyFromChannel()
Methode des AudioBuffer
-Interfaces kopiert die Audio-Sample-Daten vom angegebenen Kanal des AudioBuffer
in ein angegebenes Float32Array
.
Syntax
copyFromChannel(destination, channelNumber, startInChannel)
Parameter
destination
-
Ein
Float32Array
, in das die Samples des Kanals kopiert werden sollen. channelNumber
-
Die Kanalnummer des aktuellen
AudioBuffer
, aus dem die Kanaldaten kopiert werden sollen. startInChannel
Optional-
Ein optionaler Offset in den Buffer des Quellkanals, ab dem das Kopieren der Samples beginnen soll. Wird kein Wert angegeben, wird standardmäßig ein Wert von 0 (der Anfang des Buffers) angenommen.
Rückgabewert
Keiner (undefined
).
Ausnahmen
indexSizeError
-
Einer der Eingabeparameter hat einen Wert, der außerhalb des akzeptierten Bereichs liegt:
- Der Wert von
channelNumber
spezifiziert eine Kanalnummer, die nicht existiert (das heißt, sie ist größer oder gleich dem Wert vonnumberOfChannels
auf dem Kanal). - Der Wert von
startInChannel
liegt außerhalb des aktuellen Bereichs der Samples, die bereits im Quellpuffer existieren; das heißt, er ist größer als die aktuellelength
.
- Der Wert von
Beispiele
Dieses Beispiel erstellt einen neuen Audiopuffer und kopiert dann die Samples von einem anderen Kanal in diesen.
const myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
const anotherArray = new Float32Array(length);
myArrayBuffer.copyFromChannel(anotherArray, 1, 0);
Spezifikationen
Specification |
---|
Web Audio API # dom-audiobuffer-copyfromchannel |