2015-06-20 55 views
1

我試圖建立一個模塊化的合成器,使用網絡音頻API。我無法弄清楚的主要問題是如何做「門」,換句話說,如何讓音頻信號觸發js功能或事件。例如,假設我有一個低頻方波,並且每次方波的振幅超過一定值時我都要觸發一個函數。創建這種傾聽者的最佳過程是什麼?音頻信號觸發器如何與Web Audio API配合使用?

+0

我會實現一個分析器節點並檢查每個requestanimationframe調用。不知道這是否是最好的方法。 – Cracker0dks

回答

2

Web Audio中沒有普通的回調。您可以創建的唯一「偵聽器」是使用ScriptProcessorNode的偵聽器。

連接要查找方波大小的節點。定義一個scriptNode.onaudioprocess函數,並在每次通過您構建的音頻網絡時調用它。

然後,您可以使用audioProcessingEvent.inputBufferinputDataMic = inputBuffer.getChannelData(0)(假設您允許自己訪問導致您的回調被調用的事件)來獲取輸入。

這些調用爲您提供訪問實際數據值的權限。您必須在每個音頻幀中查找您的方波。您可能會發現一個分析器節點有助於識別在方波頻率周圍具有功率的幀。

相關問題