Dart - 播放一个 Futures 循环
Dart - Play a loop of Futures
我有这个功能,它使用 audioplayer plugin 在 Flutter 内部播放声音。
play(int soundFrequency) async {
final result = await audioPlayer.play("urltosound.wav");
}
它工作正常。但现在我希望能够连续播放多个声音。好像我把未来搞砸了。我尝试了这种方法,它非常肮脏和丑陋,但我只是想弄清楚:
playRandomSequence() async {
final result = audioPlayer.play("urltosound.wav").then(play2(pickRandomSoundFrequency()));
}
play2(int soundFrequency) async {
final result = audioPlayer.play("urltosound.wav");
}
基本上,第一个 future 结束后,我会使用 .then() 方法调用下一个。
我从中得到的是这个错误:
type '_Future' is not a subtype of type '(dynamic) => dynamic' of 'f' where _Future is from dart:async
我该如何解决这个问题?
谢谢
.then()
的参数类型错误。尝试:
.then((_) => play2(pickRandomSoundFrequency()))
您需要传递一个要调用的函数,而不是在构造参数时调用函数 then
。
我有这个功能,它使用 audioplayer plugin 在 Flutter 内部播放声音。
play(int soundFrequency) async {
final result = await audioPlayer.play("urltosound.wav");
}
它工作正常。但现在我希望能够连续播放多个声音。好像我把未来搞砸了。我尝试了这种方法,它非常肮脏和丑陋,但我只是想弄清楚:
playRandomSequence() async {
final result = audioPlayer.play("urltosound.wav").then(play2(pickRandomSoundFrequency()));
}
play2(int soundFrequency) async {
final result = audioPlayer.play("urltosound.wav");
}
基本上,第一个 future 结束后,我会使用 .then() 方法调用下一个。
我从中得到的是这个错误:
type '_Future' is not a subtype of type '(dynamic) => dynamic' of 'f' where _Future is from dart:async
我该如何解决这个问题?
谢谢
.then()
的参数类型错误。尝试:
.then((_) => play2(pickRandomSoundFrequency()))
您需要传递一个要调用的函数,而不是在构造参数时调用函数 then
。