AudioProcessingEvent: inputBuffer 屬性
已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。
AudioProcessingEvent 介面的只讀屬性 inputBuffer 表示音訊處理事件的輸入緩衝區。
輸入緩衝區由一個 AudioBuffer 物件表示,該物件包含一組音訊通道,每個通道都是一個浮點數值陣列,表示編碼為一系列振幅的音訊訊號波形。通道數和每個通道的長度由 AudioBuffer 的 channel count 和 buffer size 屬性確定。
值
一個 AudioBuffer 物件。
示例
在此示例中,使用 256 個取樣、2 個輸入通道和 2 個輸出通道的緩衝區大小建立了一個 ScriptProcessorNode。當觸發 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-inputbuffer |
瀏覽器相容性
載入中…