From db717824ddbc70ef4e3d02d48b4c675e5ee38a59 Mon Sep 17 00:00:00 2001 From: Eiichiro Adachi Date: Tue, 8 Feb 2022 18:56:38 +0900 Subject: [PATCH 1/2] fix: update loaded audio source position --- just_audio/darwin/Classes/AudioPlayer.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/just_audio/darwin/Classes/AudioPlayer.m b/just_audio/darwin/Classes/AudioPlayer.m index fbb01ed38..38b7bb241 100644 --- a/just_audio/darwin/Classes/AudioPlayer.m +++ b/just_audio/darwin/Classes/AudioPlayer.m @@ -578,7 +578,6 @@ - (void)load:(NSDictionary *)source initialPosition:(CMTime)initialPosition init } _loadResult = result; _processingState = loading; - [self updatePosition]; _index = (initialIndex != (id)[NSNull null]) ? [initialIndex intValue] : 0; // Remove previous observers if (_indexedAudioSources) { @@ -628,6 +627,7 @@ - (void)load:(NSDictionary *)source initialPosition:(CMTime)initialPosition init [self addItemObservers:source.playerItem]; source.playerItem.audioSource = source; } + [self updatePosition]; [self updateOrder]; // Set up an empty player if (!_player) { From a24d975858705c85f249ae7ecf3b7e95a925154a Mon Sep 17 00:00:00 2001 From: Ryan Heise Date: Sun, 13 Feb 2022 14:16:10 +1100 Subject: [PATCH 2/2] just_audio 0.9.20 --- just_audio/CHANGELOG.md | 4 ++++ just_audio/darwin/Classes/AudioPlayer.m | 2 ++ just_audio/pubspec.yaml | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/just_audio/CHANGELOG.md b/just_audio/CHANGELOG.md index a0f6a65f3..a45fd6114 100644 --- a/just_audio/CHANGELOG.md +++ b/just_audio/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.9.20 + +* Fix initial position on iOS/macOS when switching sources (@addie9000). + ## 0.9.19 * Dispose players on iOS/macOS hot restart. diff --git a/just_audio/darwin/Classes/AudioPlayer.m b/just_audio/darwin/Classes/AudioPlayer.m index 38b7bb241..631e7283c 100644 --- a/just_audio/darwin/Classes/AudioPlayer.m +++ b/just_audio/darwin/Classes/AudioPlayer.m @@ -331,6 +331,8 @@ - (void)broadcastPlaybackEvent { } - (int)getCurrentPosition { + // XXX: During load, the second case will be selected returning 0. + // TODO: Provide a similar case as _seekPos for _initialPos. if (CMTIME_IS_VALID(_seekPos)) { return (int)(1000 * CMTimeGetSeconds(_seekPos)); } else if (_indexedAudioSources && _indexedAudioSources.count > 0) { diff --git a/just_audio/pubspec.yaml b/just_audio/pubspec.yaml index 3422ad614..c9b62ccdd 100644 --- a/just_audio/pubspec.yaml +++ b/just_audio/pubspec.yaml @@ -1,6 +1,6 @@ name: just_audio description: A feature-rich audio player for Flutter. Loop, clip and concatenate any sound from any source (asset/file/URL/stream) in a variety of audio formats with gapless playback. -version: 0.9.19 +version: 0.9.20 homepage: https://github.com/ryanheise/just_audio/tree/master/just_audio environment: