Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 依次循环播放音频媒体_Dart_Flutter - Fatal编程技术网

Dart 依次循环播放音频媒体

Dart 依次循环播放音频媒体,dart,flutter,Dart,Flutter,我有一个音频链接列表,应该一个接一个地按顺序播放。以下代码仅播放第一个音频文件,然后停止: Future<void> _playPoem(phrases) async { List<String> _phrases= []; phrases.forEach((phrase) => _phrases.add(phrase.audio)); _phrases = _phrases.reversed.toList(); while (_p

我有一个音频链接列表,应该一个接一个地按顺序播放。以下代码仅播放第一个音频文件,然后停止:

Future<void> _playPoem(phrases) async {
    List<String> _phrases= [];
    phrases.forEach((phrase) => _phrases.add(phrase.audio));
    _phrases = _phrases.reversed.toList();

    while (_phrases.isNotEmpty) {
      await _playPhrase(_phrases.last);
      _phrases.removeLast();
    }

Future<void> _playPhrase(link) async {
    await _sound.startPlayer(link);
  }
Future\u播放诗(短语)异步{
列表_短语=[];
短语.forEach((短语)=>u短语.add(短语.音频));
_短语=_短语。反转。toList();
while(_短语.isNotEmpty){
等待游戏短语(_短语.last);
_短语.removeLast();
}
Future\u PlayPhase(链接)异步{
等待声音。启动层(链接);
}
我错过了什么


我正在使用的

播放开始后是否立即开始播放?它不会等待播放结束。为此,您需要收听播放结束事件。它看起来不像
flatter\u sound
那样。
audioplayer
有一个“已完成”事件-播放开始后看不到
startPlayer
完成?它不等待播放结束。为此,您需要收听播放结束事件。它看起来不像
flatter\u sound
那样。
audioplayer
有一个“完成”的事件-参见