首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Dart中添加AudioWorkletProcessor以在audioWorkletNode中使用它?

如何在Dart中添加AudioWorkletProcessor以在audioWorkletNode中使用它?
EN

Stack Overflow用户
提问于 2019-12-17 21:05:45
回答 1查看 1.3K关注 0票数 0

在纯JS中,我可以这样做:

代码语言:javascript
复制
const audioContext = new AudioContext();
const source = audioContext.createMediaElementSource(new Audio());

await audioContext.audioWorklet.addModule('./my-processor.js');
const processorNode = new AudioWorkletNode(audioContext, 'my-processor');

source.connect(processorNode);
processorNode.connect(audioContext.destination);

Dart中,我不能这样做:

代码语言:javascript
复制
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);

我在audioWorklet类中找不到AudioContext属性。我试图在文档中找到可以找到audioWorkletaddModule的其他位置,但没有成功。

如何在Dart中添加AudioWorkletProcessor以在audioWorkletNode中使用它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-24 01:32:01

如果JS互操作对象中没有方法或属性,则可以使用dart:js_util

代码语言:javascript
复制
import 'package:js/js_util.dart' as jsu;

var worklet = jsu.getProperty(audioContext, 'audioWorklet'));

jsu.callMethod(worklet, 'addModule', ['./my-processor.js']));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59382065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档