AudioProcessingEvent:inputBuffer 属性
已弃用: 此功能不再推荐。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,或者正在被删除的过程中,或者仅出于兼容性目的而保留。避免使用它,如果可能,请更新现有代码;请参阅此页面底部的兼容性表格,以指导您的决策。请注意,此功能可能随时停止工作。
inputBuffer
是 AudioProcessingEvent
接口的只读属性,表示音频处理事件的输入缓冲区。
输入缓冲区由 AudioBuffer
对象表示,该对象包含一组音频通道,每个通道都是一个浮点数数组,表示编码为一系列幅度的音频信号波形。通道数和每个通道的长度由AudioBuffer
的通道数和缓冲区大小属性决定。
值
一个 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 音频 API # dom-audioprocessingevent-inputbuffer |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。