This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
The copyToChannel() method of the AudioBuffer interface copies the samples to the specified channel of the AudioBuffer, from the source array.
copyToChannel(source, channelNumber) copyToChannel(source, channelNumber, startInChannel)
sourceA Float32Array that the channel data will be copied from.
channelNumberThe channel number of the current AudioBuffer to copy the channel data to. If channelNumber is greater than or equal to AudioBuffer.numberOfChannels, an INDEX_SIZE_ERR will be thrown.
startInChannel OptionalAn optional offset to copy the data to. If startInChannel is greater than AudioBuffer.length, an INDEX_SIZE_ERR will be thrown.
None (undefined).
const myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate); const anotherArray = new Float32Array(); // Copy channel data from second channel of myArrayBuffer. myArrayBuffer.copyFromChannel(anotherArray, 1, 0); // Copy data from anotherArray to first channel of myArrayBuffer. Both channels have the same data now. myArrayBuffer.copyToChannel(anotherArray, 0, 0);
| Specification |
|---|
| Web Audio API> # dom-audiobuffer-copytochannel> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
copyToChannel |
43 | 13 | 27 | 30 | 14.1 | 43 | 27 | 30 | 14.5 | 4.0 | 43 | 14.5 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/AudioBuffer/copyToChannel