AudioBuffer: copyFromChannel() method

The copyFromChannel() method of the AudioBuffer interface copies the audio sample data from the specified channel of the AudioBuffer to a specified Float32Array.


copyFromChannel(destination, channelNumber, startInChannel)



A Float32Array to copy the channel's samples to.


The channel number of the current AudioBuffer to copy the channel data from.

startInChannel Optional

An optional offset into the source channel's buffer from which to begin copying samples. If not specified, a value of 0 (the beginning of the buffer) is assumed by default.

Return value

None (undefined).



One of the input parameters has a value that is outside the accepted range:

  • The value of channelNumber specifies a channel number which doesn't exist (that is, it's greater than or equal to the value of numberOfChannels on the channel).
  • The value of startInChannel is outside the current range of samples that already exist in the source buffer; that is, it's greater than its current length.


This example creates a new audio buffer, then copies the samples from another channel into it.

const myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
const anotherArray = new Float32Array(length);
myArrayBuffer.copyFromChannel(anotherArray, 1, 0);


Web Audio API
# dom-audiobuffer-copyfromchannel

Browser compatibility

BCD tables only load in the browser

See also