如何在Dart的audioWorkletNode中添加AudioWorkletProcessor以使用它?
在纯JS中,我可以做到:如何在Dart的audioWorkletNode中添加AudioWorkletProcessor以使用它?,dart,web-audio-api,Dart,Web Audio Api,在纯JS中,我可以做到: const audioContext=new audioContext(); const source=audioContext.createMediaElementSource(new Audio()); 等待audioContext.audioWorklet.addModule('./myprocessor.js'); const processorNode=新的AudioWorkletNode(audioContext,“我的处理器”); source.conne
const audioContext=new audioContext();
const source=audioContext.createMediaElementSource(new Audio());
等待audioContext.audioWorklet.addModule('./myprocessor.js');
const processorNode=新的AudioWorkletNode(audioContext,“我的处理器”);
source.connect(processorNode);
processorNode.connect(audioContext.destination);
在省道中我做不到:
var audioContext = AudioContext();
var source = audioContext.createMediaElementSource(AudioElement());
audioContext.audioWorklet // The getter 'audioWorklet' isn't defined for the class 'AudioContext'.
var processorNode = AudioWorkletNode(audioContext, 'my-processor');
source.connectNode(processorNode);
processorNode.connectNode(audioContext.destination);
我在AudioContext
类中找不到audioWorklet
属性。
我试图在文档中找到audioWorklet
或addModule
的其他位置,但没有成功
如何添加
AudioWorkletProcessor
以在Dart的audioWorkletNode
中使用它?如果JS互操作对象中没有方法或属性,则可以使用Dart:JS_util
:
import'package:js/js_util.dart'作为jsu;
var worklet=jsu.getProperty(audioContext,'audioWorklet');
callMethod(工作集,'addModule',['./my processor.js']);
“窗口”类具有worklet属性。(不是上下文)请参见@robert rowntree谢谢,是的,的确如此,但不幸的是,audioWorklet
没有此处的addModule
属性。我不明白如何使用这个audioWorklet
只是一个猜测。如果您对dart类的实现不满意,我认为您可以切换到webview/node,在那里您可以使用音频工作集