AudioProcessingEvent: outputBuffer 属性
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
AudioProcessingEvent 接口的只读属性 outputBuffer 代表音频处理事件的输出缓冲区。
输出缓冲区由一个 AudioBuffer 对象表示,该对象包含一系列音频通道,每个通道都是一个浮点数值数组,代表编码为一系列振幅的音频信号波形。通道数量和每个通道的长度由 AudioBuffer 的 channelCount 和 bufferSize 属性确定。
值
一个 AudioBuffer 对象。
示例
在此示例中,创建了一个 ScriptProcessorNode,其缓冲区大小为 256 个样本,2 个输入通道和 2 个输出通道。当触发 audioprocess 事件时,会从事件对象中检索输入和输出缓冲区。处理输入缓冲区中的音频数据,并将结果写入输出缓冲区。在此情况下,音频数据按 0.5 的因子进行缩放。
js
const audioContext = new AudioContext();
const processor = audioContext.createScriptProcessor(256, 2, 2);
processor.addEventListener("audioprocess", (event) => {
const inputBuffer = event.inputBuffer;
const outputBuffer = event.outputBuffer;
for (let channel = 0; channel < outputBuffer.numberOfChannels; channel++) {
const inputData = inputBuffer.getChannelData(channel);
const outputData = outputBuffer.getChannelData(channel);
// Process the audio data here
for (let i = 0; i < outputBuffer.length; i++) {
outputData[i] = inputData[i] * 0.5;
}
}
});
processor.connect(audioContext.destination);
规范
| 规范 |
|---|
| Web Audio API # dom-audioprocessingevent-outputbuffer |
浏览器兼容性
加载中…