如何检查特定模块是否已添加到Worklet?

我正在使用AudioWorkletNode,要使用它,需要首先在audio_context.audioWorklet上加载处理器模块。

DOMException: Failed to construct 'AudioWorkletNode': AudioWorkletNode cannot be created: AudioWorklet does not have a valid AudioWorkletGlobalScope. Load a script via audioWorklet.addModule() first.

由于代码的模块化本质,我需要一种可靠的方法来防止不必要地多次加载处理器模块;如果已经对给定的.addModule执行,则不执行AudioContext。除了try-catch ing并在AudioContext对象上标记之外,还有其他方法吗?

我正在使用AudioWorkletNode,要使用它,需要首先在audio_context.audioWorklet上加载处理器模块。 DOMException:无法构造'AudioWorkletNode':...

回答如下:

假设您已将处理器my-processor命名,并且AudioWorkletProcessor的定义看起来像这样:

如何检查特定模块是否已添加到Worklet?

我正在使用AudioWorkletNode,要使用它,需要首先在audio_context.audioWorklet上加载处理器模块。

DOMException: Failed to construct 'AudioWorkletNode': AudioWorkletNode cannot be created: AudioWorklet does not have a valid AudioWorkletGlobalScope. Load a script via audioWorklet.addModule() first.

由于代码的模块化本质,我需要一种可靠的方法来防止不必要地多次加载处理器模块;如果已经对给定的.addModule执行,则不执行AudioContext。除了try-catch ing并在AudioContext对象上标记之外,还有其他方法吗?

我正在使用AudioWorkletNode,要使用它,需要首先在audio_context.audioWorklet上加载处理器模块。 DOMException:无法构造'AudioWorkletNode':...

回答如下:

假设您已将处理器my-processor命名,并且AudioWorkletProcessor的定义看起来像这样: