AudioBuffer: copyFromChannel() method
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.
The
copyFromChannel()
method of the
AudioBuffer
interface copies the audio sample data from the specified
channel of the AudioBuffer
to a specified
Float32Array
.
Syntax
copyFromChannel(destination, channelNumber, startInChannel)
Parameters
destination
-
A
Float32Array
to copy the channel's samples to. channelNumber
-
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
).
Exceptions
indexSizeError
-
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 ofnumberOfChannels
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 currentlength
.
- The value of
Examples
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);
Specifications
Specification |
---|
Web Audio API # dom-audiobuffer-copyfromchannel |
Browser compatibility
BCD tables only load in the browser