这个问题通常出现在使用Polymer 3.4.1(或者更高版本)和AudioWorkletProcessor结合使用时。这是因为Polymer 3.4.1中默认使用了ES6中的模块(module),而AudioWorkletProcessor不支持ES6模块的语法,因此会报错。
解决这个问题的方法是,在AudioWorkletProcessor文件中添加以下代码:
import { window } from 'globalthis/implementation';
这个代码片段会导入globalthis库,并从中获取window对象。这样就可以在AudioWorkletProcessor中使用window对象了。
完整的代码示例:
import { window } from 'globalthis/implementation';
class MyAudioWorkletProcessor extends AudioWorkletProcessor {
constructor() {
super();
}
process(inputs, outputs, parameters) {
// do some processing here
return true;
}
}
registerProcessor('my-audio-worklet-processor', MyAudioWorkletProcessor);