Флаттер воспроизводит список файлов друг за другом - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь воспроизвести список файлов один за другим, но он воспроизводит все вместе, кто-нибудь может помочь?

Я использую библиотеку AudioPlayers для этого

спасибо

  case 2: {
    //statements;
    for(int i = 0; i < letterList1().length; i++){
      String file = letterList1()[i]['audio'];
      advancedPlayer = await player.play(file);

      if(advancedPlayer.state == AudioPlayerState.PLAYING){
        advancedPlayer.onPlayerCompletion.listen((onDone) async {
          advancedPlayer.state = AudioPlayerState.COMPLETED;
        });
      }

      playingFile = file;

    }
  }
  break;

1 Ответ

1 голос
/ 20 марта 2020
case 1: {
        //statements;
        for(int i = 0; i < letterList1().length; i++){
          String file = letterList1()[i]['audio'];
          advancedPlayer = await player.play(file);

      playingFile = file;

      while(advancedPlayer.state == AudioPlayerState.PLAYING){
        print("while: ${advancedPlayer.state}");
        await Future.delayed(Duration(seconds: 1));
        print(i);
        if(advancedPlayer.state == AudioPlayerState.PLAYING){
          advancedPlayer.onPlayerCompletion.listen((onDone) async {
            print("object");
            player.clear(file);
            advancedPlayer.state = AudioPlayerState.COMPLETED;
            await advancedPlayer.stop();
          });
        }
        if(advancedPlayer.state == AudioPlayerState.COMPLETED){
          print("if: ${advancedPlayer.state}");
          await advancedPlayer.stop();
          break;
        }
      }

    }
  }
  break;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...