0

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

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

还有ScriptProcessorNode,但它已被弃用,我无法想象如何在 ClojureScript 中使用它。一个例子真的很有帮助。

最后但同样重要的是,如果有人有另一种方式来进行实时音频处理,请告诉我。

4

1 回答 1

1

我最近不得不处理类似的事情,但使用的是 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

于 2019-11-22T19:36:42.663 回答