ConstantSourceNode
ConstantSourceNode 介面(Web Audio API 的一部分)代表一個音訊源(基於 AudioScheduledSourceNode),其輸出是一個單一不變的值。這使得它在需要從音訊源引入恆定值的情況下非常有用。此外,它還可以用作可構造的 AudioParam,透過自動化其 offset 的值或將其連線到另一個節點;請參閱 使用 ConstantSourceNode 控制多個引數。
ConstantSourceNode 沒有輸入,只有一個單聲道(單通道)輸出。輸出的值始終與其 offset 引數的值相同。
| 輸入數量 | 0 |
|---|---|
| 輸出數量 | 1 |
建構函式
ConstantSourceNode()-
建立並返回一個新的
ConstantSourceNode例項,可以選擇指定一個物件來建立物件屬性的初始值。作為替代,您可以使用BaseAudioContext.createConstantSource()工廠方法;請參閱 建立 AudioNode。
例項屬性
繼承其父介面 AudioScheduledSourceNode 的屬性,並新增以下屬性:
offset-
一個
AudioParam,指定此源連續輸出的值。預設值為 1.0。
事件
繼承其父介面 AudioScheduledSourceNode 的事件。
注意: 某些瀏覽器對這些事件的實現是 AudioScheduledSourceNode 介面的一部分。
ended-
每當
ConstantSourceNode資料停止播放時觸發。
例項方法
繼承其父介面 AudioScheduledSourceNode 的方法。
注意: 某些瀏覽器對這些方法的實現是 AudioScheduledSourceNode 介面的一部分。
示例
在文章 使用 ConstantSourceNode 控制多個引數 中,建立了一個 ConstantSourceNode 以便一個滑塊控制元件可以改變兩個 GainNode 的增益。這三個節點設定如下:
gainNode2 = context.createGain();
gainNode3 = context.createGain();
gainNode2.gain.value = gainNode3.gain.value = 0.5;
volumeSliderControl.value = gainNode2.gain.value;
constantNode = context.createConstantSource();
constantNode.connect(gainNode2.gain);
constantNode.connect(gainNode3.gain);
constantNode.start();
gainNode2.connect(context.destination);
gainNode3.connect(context.destination);
此程式碼首先建立增益節點,並將它們和將調整其值的音量控制元件都設定為 0.5。然後透過呼叫 AudioContext.createConstantSource() 來建立 ConstantSourceNode,並將兩個增益節點的增益引數連線到 ConstantSourceNode。在呼叫其 start() 方法啟動常量源之後。最後,將兩個增益節點連線到音訊目標(通常是揚聲器或耳機)。
現在,每當 constantNode.offset 的值改變時,gainNode2 和 gainNode3 的增益都將改變為相同的值。
要檢視此示例的實際效果,以及閱讀這些程式碼片段所源自的其餘程式碼,請參閱 使用 ConstantSourceNode 控制多個引數。
規範
| 規範 |
|---|
| Web Audio API # ConstantSourceNode |
瀏覽器相容性
載入中…