我想在 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