ClojureScript中的实时音频处理

问题描述 投票:0回答:1

我想在ClojureScript中进行实时音频处理。

MDN文档将我指向AudioWorkletProcessor类,但是从我搜索过的内容来看,没有明显的方法可以从ClojureScript中的JavaScript类继承。我想念什么吗?

也有ScriptProcessorNode,但已弃用,我无法在ClojureScript中说明如何使用它。一个例子真的很有帮助。

最后但并非最不重要的一点,如果有人有另一种方式进行实时音频处理,请告诉我。

clojure clojurescript web-audio-api clojurescript-javascript-interop
1个回答
0
投票

我最近不得不处理类似的事情,但是使用了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))))))
© www.soinside.com 2019 - 2024. All rights reserved.