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
В нем есть пример того, как объединить оба пакета.