AudioBuffer:copyToChannel() 方法

基线 广泛可用

此功能已得到良好建立,并在许多设备和浏览器版本上都能正常工作。它自以下时间起在各个浏览器中都可用 2021 年 4 月.

AudioBuffer 接口的 copyToChannel() 方法将样本从源数组复制到 AudioBuffer 的指定通道。

语法

js
copyToChannel(source, channelNumber)
copyToChannel(source, channelNumber, startInChannel)

参数

source

通道数据将从中复制的 Float32Array

channelNumber

要将通道数据复制到的当前 AudioBuffer 的通道号。如果 channelNumber 大于或等于 AudioBuffer.numberOfChannels,则会抛出 INDEX_SIZE_ERR 错误。

startInChannel 可选

一个可选的偏移量,用于将数据复制到该偏移量。如果 startInChannel 大于 AudioBuffer.length,则会抛出 INDEX_SIZE_ERR 错误。

返回值

无 (undefined)。

示例

js
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);

规范

规范
Web Audio API
# dom-audiobuffer-copytochannel

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅