我想在ClojureScript中进行实时音频处理。
MDN文档将我指向AudioWorkletProcessor
类,但是从我搜索过的内容来看,没有明显的方法可以从ClojureScript中的JavaScript类继承。我想念什么吗?
也有ScriptProcessorNode
,但已弃用,我无法在ClojureScript中说明如何使用它。一个例子真的很有帮助。
最后但并非最不重要的一点,如果有人有另一种方式进行实时音频处理,请告诉我。
我最近不得不处理类似的事情,但是使用了AnalyserNode。也许这可以帮助您入门:
(require '[promesa.core :as p])
(defn initialize-audio []
(let [ctx (js/window.AudioContext.)
analyser (.createAnalyser ctx)]
(-> (.getUserMedia (.-mediaDevices js/navigator) (clj->js {:audio true}))
(p/chain
(fn[stream]
(.createMediaStreamSource ctx stream))
(fn[mss]
(.connect mss analyser))))))