ScriptProcessorNode

已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。

ScriptProcessorNode 介面允許使用 JavaScript 生成、處理或分析音訊。

EventTarget AudioNode ScriptProcessorNode

注意:此功能已被 AudioWorkletsAudioWorkletNode 介面取代。

ScriptProcessorNode 介面是一個 AudioNode 音訊處理模組,它連線到兩個緩衝區:一個包含輸入音訊資料,一個包含處理後的輸出音訊資料。每次輸入緩衝區包含新資料時,都會向該物件傳送一個實現 AudioProcessingEvent 介面的事件,而事件處理程式在用資料填滿輸出緩衝區後終止。

The ScriptProcessorNode stores the input in a buffer, send the audioprocess event. The EventHandler takes the input buffer and fill the output buffer which is sent to the output by the ScriptProcessorNode.

輸入和輸出緩衝區的長度在建立時定義,透過呼叫 BaseAudioContext.createScriptProcessor 方法(兩者都由 BaseAudioContext.createScriptProcessorbufferSize 引數定義)。緩衝區大小必須是 25616384 之間的 2 的冪,即 256512102420484096819216384。較小的值會降低延遲,但可能需要較大的值來避免音訊中斷和故障。

如果不定義緩衝區大小(這是推薦的做法),瀏覽器將選擇一個它認為合適的啟發式值。

輸入數量 1
輸出數量 1
通道計數模式 "max"
聲道數 2 (在預設計數模式下未使用)
通道解釋 “speakers”

例項屬性

繼承自其父級 AudioNode 的屬性.

ScriptProcessorNode.bufferSize 只讀 已棄用

返回一個整數,表示輸入和輸出緩衝區的大小。其值可以是 25616384 範圍內的 2 的冪值。

例項方法

沒有特定方法;繼承其父級 AudioNode 的方法。.

事件

使用 addEventListener() 或透過將事件監聽器分配給此介面的 oneventname 屬性來監聽這些事件。

audioprocess 已棄用

ScriptProcessorNode 的輸入緩衝區準備好進行處理時觸發。也可透過 onaudioprocess 事件處理程式屬性訪問。

示例

有關示例程式碼,請參閱 BaseAudioContext.createScriptProcessor()

規範

規範
Web Audio API
# dom-scriptprocessornode-buffersize

瀏覽器相容性

另見