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

js
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 von numberOfChannels 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 aktuelle length.

Beispiele

Dieses Beispiel erstellt einen neuen Audiopuffer und kopiert dann die Samples von einem anderen Kanal in diesen.

js
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

Browser-Kompatibilität

Siehe auch