AudioBuffer: copyFromChannel() 方法
AudioBuffer 接口的 copyFromChannel() 方法将 AudioBuffer 指定通道的音频样本数据复制到一个指定的 Float32Array 中。
语法
js
copyFromChannel(destination, channelNumber, startInChannel)
参数
destination-
一个用于复制通道样本的
Float32Array。 channelNumber-
当前
AudioBuffer中要从中复制通道数据的通道编号。 startInChannel可选-
一个可选的偏移量,表示从源通道的缓冲区中开始复制样本的位置。如果未指定,则默认假定值为 0(缓冲区的开头)。
返回值
无(undefined)。
异常
indexSizeError-
其中一个输入参数的值超出了可接受的范围。
channelNumber的值指定了一个不存在的通道号(即,它大于或等于该通道在AudioBuffer上的numberOfChannels的值)。startInChannel的值超出了源缓冲区中已存在样本的当前范围;也就是说,它大于其当前的length。
示例
此示例创建一个新的音频缓冲区,然后将另一个通道的样本复制到其中。
js
const myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
const anotherArray = new Float32Array(length);
myArrayBuffer.copyFromChannel(anotherArray, 1, 0);
规范
| 规范 |
|---|
| Web Audio API # dom-audiobuffer-copyfromchannel |
浏览器兼容性
加载中…