如何在颤动中延迟音频播放器?
How do I delayed audioplayer in flutter?
我想连接另外两个mp3文件,但由于音频播放器没有顺序播放mp3文件,所以只能播放一个mp3文件。
最后,我尝试在播放其他 mp3 文件后延迟 5 秒。
void getAudio() async{
var url = _API_AUDIO_PREFIX;
var path;
int duration = 0;
Map<String, dynamic> json = await server.postReq(data);
print(json["voices"]);
for(int i=0;i<json["voices"].length;i++){
path = url + json["voices"][i]["title"];
print(path);
duration = i * 500;
Future.delayed(const Duration(milliseconds: duration), (){
playAudio(path);
});
}
}
Future<void> playAudio(var url) async {
int result = await audioPlayer.play(url);
if (result == 1){
print("success");
}
//duration = await audioPlayer.getDuration();
}
但是以毫秒为单位,他们有这样的错误。
Evaluation of this constant expression throws an exception.
我该如何解决?以及如何继续播放 mp3 文件到其他 mp3 文件?
我修正了错误
Evaluation of this constant expression throws an exception.
删除 const Duration(milliseconds: duration)
中的常量。
但它不能继续下一个文件,因为路径变量被平等地改变了。 :(
我想连接另外两个mp3文件,但由于音频播放器没有顺序播放mp3文件,所以只能播放一个mp3文件。 最后,我尝试在播放其他 mp3 文件后延迟 5 秒。
void getAudio() async{
var url = _API_AUDIO_PREFIX;
var path;
int duration = 0;
Map<String, dynamic> json = await server.postReq(data);
print(json["voices"]);
for(int i=0;i<json["voices"].length;i++){
path = url + json["voices"][i]["title"];
print(path);
duration = i * 500;
Future.delayed(const Duration(milliseconds: duration), (){
playAudio(path);
});
}
}
Future<void> playAudio(var url) async {
int result = await audioPlayer.play(url);
if (result == 1){
print("success");
}
//duration = await audioPlayer.getDuration();
}
但是以毫秒为单位,他们有这样的错误。
Evaluation of this constant expression throws an exception.
我该如何解决?以及如何继续播放 mp3 文件到其他 mp3 文件?
我修正了错误
Evaluation of this constant expression throws an exception.
删除 const Duration(milliseconds: duration)
中的常量。
但它不能继续下一个文件,因为路径变量被平等地改变了。 :(