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
Float32Arrayto copy the channel's samples to. channelNumber-
The channel number of the current
AudioBufferto copy the channel data from. startInChannelOptional-
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
channelNumberspecifies a channel number which doesn't exist (that is, it's greater than or equal to the value ofnumberOfChannelson the channel). - The value of
startInChannelis 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
Loading…