From b2c5d05e159c283e7d62915818a1ac5dea23b7bc Mon Sep 17 00:00:00 2001 From: Ryan Heise Date: Sat, 22 Jan 2022 02:39:57 +1100 Subject: [PATCH] Fix bug restoring speed after load. --- just_audio_web/lib/just_audio_web.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/just_audio_web/lib/just_audio_web.dart b/just_audio_web/lib/just_audio_web.dart index a60001758..415a3e7af 100644 --- a/just_audio_web/lib/just_audio_web.dart +++ b/just_audio_web/lib/just_audio_web.dart @@ -44,6 +44,7 @@ abstract class JustAudioPlayer extends AudioPlayerPlatform { ProcessingStateMessage _processingState = ProcessingStateMessage.idle; bool _playing = false; int? _index; + double _speed = 1.0; /// Creates a platform player with the given [id]. JustAudioPlayer({required String id}) : super(id); @@ -121,6 +122,7 @@ class Html5AudioPlayer extends JustAudioPlayer { transition(ProcessingStateMessage.buffering); }); _audioElement.addEventListener('canplaythrough', (event) { + _audioElement.playbackRate = _speed; transition(ProcessingStateMessage.ready); }); _audioElement.addEventListener('progress', (event) { @@ -226,6 +228,7 @@ class Html5AudioPlayer extends JustAudioPlayer { if (src != _audioElement.src) { _durationCompleter = Completer(); _audioElement.src = src; + _audioElement.playbackRate = _speed; _audioElement.preload = 'auto'; _audioElement.load(); if (initialPosition != null) { @@ -275,7 +278,7 @@ class Html5AudioPlayer extends JustAudioPlayer { @override Future setSpeed(SetSpeedRequest request) async { - _audioElement.playbackRate = request.speed; + _audioElement.playbackRate = _speed = request.speed; return SetSpeedResponse(); }