错误:React App中未定义AudioWorkletNode

时间:2018-04-22 23:48:26

标签: reactjs webrtc web-audio web-audio-api scriptprocessor

我试图在React中创建一个AudioWorklet。我正在使用create-react-app并将在React上下文之外工作的脚本导入到App.jsx中。它无法实例化我的AudioWorkletNode扩展并抛出以下错误:

   Failed to compile.
./src/worklet/worklet-node.js
  Line 2:  'AudioWorkletNode' is not defined  no-undef

代码:

 // The code in the main global scope.
    class MyWorkletNode extends AudioWorkletNode {
        constructor(context) {
          super(context, 'my-worklet-processor');
        }
      }

      let context = new AudioContext();

      context.audioWorklet.addModule('processor.js').then(() => {
        let node = new MyWorkletNode(context);
      });

完全相同的代码是成功初始化AudioWorklet的,所以我对于为什么没有识别AudioWorkletNode感到有些困惑。

1 个答案:

答案 0 :(得分:3)

创建React App配置为强制您使用window.限定符访问此类浏览器API。通过这种方式,您可以清楚地了解全局,并且不会忘记导入某些内容(这是非常常见的)。

这应该有效:

class MyWorkletNode extends window.AudioWorkletNode {