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 |
瀏覽器相容性
載入中…