尝试使用lit元素/聚合物Web组件和Audioworklet/AudioWorklet处理器时,我得到了以下错误:
boot-c9e09360.js:20 Uncaught ReferenceError: window is not defined
at boot-c9e09360.js:20:1在我代码中的这一行:
await aw.audioContext.audioWorklet.addModule("micSpkrAwp.js") //micSpkrAwp is the audio-worklet-processor running in different process. boot-c9e09360.js是一个聚合物文件,包含:
/**@license版权(c) 2017聚合物项目作者。版权所有。**
/* eslint-禁用未使用的-vars/ /*
在使用闭包编译器时,objectproperty
我一直在使用发光元件/聚合物网络组件,它工作得很好。我去除了聚合物组分,AudioWorkletProcessor工作得很好。我认为问题在于,聚合物假定窗口是定义的(因为聚合物使用DOM),但是当遇到javascript文件时--没有引用DOM的AudioWorkletProcessor (只是提供音频处理接口的文件)--就会发生错误。有什么建议吗?MicSpkrAwp.js代码:
从“./ frameBufferQBRes }”导入{config} "./config.js“
类MicSpkrProcessor扩展AudioWorkletProcessor {
constructor() {
super()
/** ..**/
process (inputs, outputs, parameters){
console.log(`micSpkrAws - this.stopImmediateFlag ${this.stopImmediateFlag}`)
if (this.stopImmediateFlag) return false
const retVal=this.processFromQueue(inputs,outputs,parameters)
return retVal
}
}
registerProcessor('mic-spkr-processor', MicSpkrProcessor)发布于 2022-03-07 06:24:06
感谢凯伊多的解决方案!答:由于导入,聚合物脚本被注入到AudioWorkletProcessor代码中:
import { calculateSplices } from '@polymer/polymer/lib/utils/array-splice';这不是立即可见的,因为它是一个嵌套导入(导入的文件包含此导入语句)。这个导入被删除了,问题解决了!
https://stackoverflow.com/questions/71375711
复制相似问题