Buffered progress display

This commit is contained in:
2024-08-27 23:54:53 +08:00
parent 2751ab1296
commit 7e7df4dc46
2 changed files with 23 additions and 8 deletions

View File

@ -45,6 +45,7 @@ class _BottomPlayerState extends State<BottomPlayer>
Duration _durationCurrent = Duration.zero;
Duration _durationTotal = Duration.zero;
Duration _durationBuffered = Duration.zero;
void _updateDurationCurrent(Duration dur) {
setState(() => _durationCurrent = dur);
@ -70,8 +71,12 @@ class _BottomPlayerState extends State<BottomPlayer>
void initState() {
super.initState();
_subscriptions = [
audioPlayer.durationStream.listen(_updateDurationTotal),
audioPlayer.positionStream.listen(_updateDurationCurrent),
audioPlayer.durationStream
.listen((dur) => setState(() => _durationTotal = dur)),
audioPlayer.positionStream
.listen((dur) => setState(() => _durationCurrent = dur)),
audioPlayer.bufferedPositionStream
.listen((dur) => setState(() => _durationBuffered = dur)),
_playback.state.listen((state) {
if (state.playlist.medias.isNotEmpty && !_isLifted) {
_animationController.animateTo(1);
@ -183,6 +188,7 @@ class _BottomPlayerState extends State<BottomPlayer>
context.pushTransparentRoute(PlayerScreen(
durationCurrent: _durationCurrent,
durationTotal: _durationTotal,
durationBuffered: _durationBuffered,
));
},
),