Flutter как получить текущую продолжительность в assets_audio_player

Раньше я использовал just_audio, и я использую текущее время вот так

      player.positionStream.listen((event) {
  playerTimeNow = event;
  updatePlayerBar();
});

Теперь мне нужно знать, как я могу найти время в этом assets_audio_player

4 ответа

Из вашего вопроса я понял, что вам нужна текущая позиция воспроизведения звука и вы хотите обновить панель проигрывателя. Для этого вы можете использовать свойство AssetAudioPlayer который возвращается ValueStream. Йон может либо Stream или используйте его в.

Просто listen к currentPosition Транслировать :

       assetsAudioPlayer.currentPosition.listen((positionValue){
   playerTimeNow = positionValue;
  updatePlayerBar();
 });

Или вы также можете использовать:

      return StreamBuilder(
    stream: assetsAudioPlayer.currentPosition,
    builder: (context, asyncSnapshot) {
        final Duration duration = asyncSnapshot.data;
        return Text(duration.toString());  
    }),

Оберните Widget который вы хотите предоставить текущую позицию аудио в StreamBuilder и использовать значения, полученные от asyncSnapshot.data.

Вместо этого используйте Asset Audio Player Package в pub dev.

https://pub.dev/packages/assets_audio_player

Он предоставляет элементы управления уведомлениями без какой-либо дополнительной реализации.

вы можете использовать https://pub.dev/packages/audioplayer этот пакет, это будет отображать текущую продолжительность аудио

Предлагаю вам взглянуть на эту статью: https://itnext.io/create-an-awesome-background-running-music-player-like-amazon-music-in-flutter-341a59efa936

В нем есть пример того, как объединить оба пакета.

Другие вопросы по тегам