AudioData: copyTo() method

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Note: This feature is available in Dedicated Web Workers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The copyTo() method of the AudioData interface copies a plane of an AudioData object to a destination buffer.

Syntax

js
copyTo(destination, options)

Parameters

destination

An ArrayBuffer, a TypedArray, or a DataView to copy the plane to.

options

An object containing the following:

planeIndex

The index of the plane to copy from.

frameOffset Optional

An integer giving an offset into the plane data indicating which plane to begin copying from. Defaults to 0.

frameCount Optional

An integer giving the number of frames to copy. If omitted then all frames in the plane will be copied, beginning with the frame specified in frameOffset.

Return value

Undefined.

Exceptions

InvalidStateError DOMException

Thrown if the AudioData object has been transferred.

RangeError

Thrown if one of the following conditions is met:

  • The length of the sample is longer than the destination length.
  • The format of the AudioData object describes a planar format, but options.planeIndex is outside of the number of planes available.
  • The format of the AudioData object describes an interleaved format, but options.planeIndex is greater than 0.

Examples

The following example copies the plane at index 1 to a destination buffer.

js
AudioData.copyTo(AudioBuffer, { planeIndex: 1 });

Specifications

Specification
WebCodecs
# dom-audiodata-copyto

Browser compatibility

BCD tables only load in the browser