AudioBuffer: copyFromChannel() 方法

基线 广泛可用

此功能已得到良好建立,并在许多设备和浏览器版本中都能正常运行。它自 2021 年 4 月.

报告反馈

语法

copyFromChannel() 方法是 AudioBuffer 接口的方法,它将指定通道的音频样本数据从 AudioBuffer 复制到指定的 Float32Array
copyFromChannel(destination, channelNumber, startInChannel)

js

参数

destination

要将通道样本复制到的 Float32Array

channelNumber

要从中复制通道数据的当前 AudioBuffer 的通道号。

startInChannel 可选

一个可选的偏移量,指定从源通道缓冲区中的哪个位置开始复制样本。如果没有指定,则默认情况下假定值为 0(缓冲区的开头)。

返回值

无 ( undefined )。

异常

indexSizeError

  • 其中一个输入参数的值超出了可接受的范围。
  • channelNumber 的值指定了一个不存在的通道号(即,它大于或等于通道上的 numberOfChannels 值)。

示例

startInChannel 的值超出了源缓冲区中已存在样本的当前范围;也就是说,它大于其当前的 length

copyFromChannel() 方法是 AudioBuffer 接口的方法,它将指定通道的音频样本数据从 AudioBuffer 复制到指定的 Float32Array
const myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
const anotherArray = new Float32Array(length);
myArrayBuffer.copyFromChannel(anotherArray, 1, 0);

规范

此示例创建了一个新的音频缓冲区,然后将来自另一个通道的样本复制到其中。
Web 音频 API
# 规范

浏览器兼容性

dom-audiobuffer-copyfromchannel

另请参见