AudioData: copyTo() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

注意:此功能在 专用 Web Workers 中可用。

AudioData 接口的 copyTo() 方法会将 AudioData 对象的一个声道复制到目标缓冲区。

语法

js
copyTo(destination, options)

参数

destination

要将声道复制到的 ArrayBufferTypedArrayDataView

options

一个包含以下内容的 *)

planeIndex

要从中复制声道的索引。

frameOffset 可选

一个整数,表示声道数据中的偏移量,指示从哪个声道开始复制。默认为 0

frameCount 可选

要复制的帧数。如果省略,则将复制声道中的所有帧,从 frameOffset 指定的帧开始。

返回值

Undefined。

异常

InvalidStateError DOMException

如果 AudioData 对象已被转移,则抛出此异常。

RangeError

如果满足以下任一条件,则抛出错误

  • 样本的长度大于目标长度。
  • AudioData 对象的格式描述为声道格式,但 options.planeIndex 超出了可用声道的数量。
  • AudioData 对象的格式描述为交错格式,但 options.planeIndex 大于 0

示例

以下示例将索引为 1 的声道复制到目标缓冲区。

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

规范

规范
WebCodecs
# dom-audiodata-copyto

浏览器兼容性