Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/web/api/audiobuffer/copyfromchannel/index.md
6565 views
---
title: AudioBuffer.copyFromChannel() slug: Web/API/AudioBuffer/copyFromChannel page-type: web-api-instance-method browser-compat: api.AudioBuffer.copyFromChannel
---

{{APIRef("Web Audio API")}}

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

Syntax

copyFromChannel(destination, channelNumber, startInChannel)

Parameters

  • destination

    • : A {{jsxref("Float32Array")}} to copy the channel's samples to.

  • channelNumber

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

  • startInChannel {{optional_inline}}

    • : 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 ({{jsxref("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 of {{domxref("AudioBuffer.numberOfChannels", "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 {{domxref("AudioBuffer.length", "length")}}.

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

{{Specifications}}

Browser compatibility

{{Compat}}

See also