我想在 ClojureScript 中进行实时音频处理。
MDN 文档将我指向AudioWorkletProcessor该类,但从我搜索的内容来看,没有明显的方法可以从 ClojureScript 中的 JavaScript 类继承。我错过了什么吗?
还有ScriptProcessorNode,但它已被弃用,我无法想象如何在 ClojureScript 中使用它。一个例子真的很有帮助。
最后但同样重要的是,如果有人有另一种方式来进行实时音频处理,请告诉我。
我想在 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))))))
您可能也想看看这个https://developer.mozilla.org/en-US/docs/Web/API/AudioWorkletNode