gpt4 book ai didi

dart - 使用 Dart :web_audio

转载 作者:行者123 更新时间:2023-12-01 11:44:47 25 4
gpt4 key购买 nike

我在调试一些使用 Web Audio API 的简单应用程序时有些困惑。

在开发人员控制台中,我可以执行以下操作:

var ctx = new webkitAudioContext(),
osc = ctx.createOscillator();

osc.connect(ctx.destination);
osc.start(0);

当我像这样尝试时,试图让它与 Dart 一起工作会产生以下错误:
AudioContext ctx = new AudioContext();
OscillatorNode osc = ctx.createOscillator();

osc.connect(ctx.destination);
osc.start(0);

//Dart2JS: Uncaught TypeError: Object #<OscillatorNode> has no method 'connect$1'
//DartVM: Class 'OscillatorNode' has no instance method 'connect' with matching
arguments. NoSuchMethodError: incorrect number of arguments passed to method
named connect' Receiver: Instance of 'OscillatorNode'

逐步通过我发现connect方法有两种实现。所以我试图添加一个额外的第二个参数,因为我无法真正理解为什么它需要一个名为“输出”的 int,我想可能是我决定了值 1 的音量,但结果是:
//Dart2JS: Uncaught Error: IndexSizeError: DOM Exception 1 flexsynth.html_bootstrap.dart.js:8698 $.main flexsynth.html_bootstrap.dart.js:8698 $$._IsolateContext.eval$1flexsynth.html_bootstrap.dart.js:565 $.startRootIsolate flexsynth.html_bootstrap.dart.js:7181 (anonymous function)

//DartVM: "Dart_IntegerToInt64 expects argument 'integer' to be non-null."

这是我不知道该怎么做的地方,我认为参数不为空,它是 1。

谷歌搜索错误只会让我找到实际的 Dart 源代码。

有什么地方可以解释如何使用 dart:web_audio 吗?我究竟做错了什么?

最佳答案

这是因为底层实现似乎需要参数 input ,尽管它是一个可选参数。此代码将起作用:

AudioContext ctx = new AudioContext();
OscillatorNode osc = ctx.createOscillator();

osc.connect(ctx.destination, 0, 0);
osc.start(0);

这是一个已知的错误,你可以在这里加注星标: https://code.google.com/p/dart/issues/detail?id=6728

关于dart - 使用 Dart :web_audio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16275353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com