Node.js – 让Node.js / Express与Web Audio API一起工作

我正在编写需要使用Web Audio API的Node.js / Express。 我注意到,这是事实上“不可能”,由于在这个stackoverflow答案解释的原因。 但是,我发现在线的两个项目似乎使用Node.js / Express以及Web Audio API。 他们可以在这里和这里find。 当我尝试在我的应用程序中执行类似的操作(使用npm start运行时,出现以下错误:

 /Users/user/Documents/STAGE4/PRCO304/RTMC/controllers/workstation/workstation.js:1 (function (exports, require, module, __filename, __dirname) { var context = new AudioContext(); ^ ReferenceError: AudioContext is not defined 

当我改变行var context = new AudioContext(); 到像window.AudioContext = window.AudioContext东西我得到的错误,该window没有定义,我明白如何Node.js工作。

可能有人请向我解释这些项目如何设法使用Web Audio API与Node.js / Express,当我尝试在我的类似实现类似的东西失败?

提前致谢。

Web Audio API位于浏览器端,被纳入到现代浏览器中,没有明确的引用库。当然,nodejs是服务器端,因此您需要编写自己的代码或发现某个节点包,其中有人使用了Web Audio API 发布的规格 ,直接在nodejs平台上使用,也就是说,如果你想要一个独立于nodejs服务器的audio渲染项目,独立于任何浏览器。 你提到的SO答案提到了使用这种方法的npm模块

当然,你可以devise你的系统,把服务器和浏览器连接起来,这是当今非常可行的,也是大多数人把节点和audio结合起来的路线。

你还没有明确你喜欢哪个build筑?

在任何一种架构中,nodejs都可以与Web Audio API一起使用,而且我已经使用每种方法编写了项目

你上面的错误我猜想是试图执行服务器端代码,而不是说话的浏览器? 在这种情况下,请确保您正在拉入一个nodejs移植的Web Audio API库