diff --git a/ios/App/App/plugins/AbsAudioPlayer.swift b/ios/App/App/plugins/AbsAudioPlayer.swift index 76f1e863..537a4524 100644 --- a/ios/App/App/plugins/AbsAudioPlayer.swift +++ b/ios/App/App/plugins/AbsAudioPlayer.swift @@ -238,6 +238,7 @@ public class AbsAudioPlayer: CAPPlugin { @objc func onPlaybackFailed() { if (PlayerHandler.getPlayMethod() == PlayMethod.directplay.rawValue) { let session = PlayerHandler.getPlaybackSession() + let playWhenReady = PlayerHandler.getPlayWhenReady() let libraryItemId = session?.libraryItemId ?? "" let episodeId = session?.episodeId ?? nil logger.log("Forcing Transcode") @@ -247,7 +248,7 @@ public class AbsAudioPlayer: CAPPlugin { do { guard let self = self else { return } try session.save() - PlayerHandler.startPlayback(sessionId: session.id, playWhenReady: self.initialPlayWhenReady, playbackRate: PlayerSettings.main().playbackRate) + PlayerHandler.startPlayback(sessionId: session.id, playWhenReady: playWhenReady, playbackRate: PlayerSettings.main().playbackRate) self.sendPlaybackSession(session: try session.asDictionary()) self.sendMetadata() } catch(let exception) { diff --git a/ios/App/Shared/player/AudioPlayer.swift b/ios/App/Shared/player/AudioPlayer.swift index da9c7ffc..46fafaaf 100644 --- a/ios/App/Shared/player/AudioPlayer.swift +++ b/ios/App/Shared/player/AudioPlayer.swift @@ -30,7 +30,7 @@ class AudioPlayer: NSObject { private var playerContext = 0 private var playerItemContext = 0 - private var playWhenReady: Bool + internal var playWhenReady: Bool private var initialPlaybackRate: Float internal var audioPlayer: AVQueuePlayer diff --git a/ios/App/Shared/player/PlayerHandler.swift b/ios/App/Shared/player/PlayerHandler.swift index 723cfc3d..dbcca12a 100644 --- a/ios/App/Shared/player/PlayerHandler.swift +++ b/ios/App/Shared/player/PlayerHandler.swift @@ -54,6 +54,10 @@ class PlayerHandler { self.player?.getCurrentTime() } + public static func getPlayWhenReady() -> Bool { + self.player?.playWhenReady ?? false + } + public static func setPlaybackSpeed(speed: Float) { self.player?.setPlaybackRate(speed) } @@ -88,9 +92,8 @@ class PlayerHandler { public static func getPlaybackSession() -> PlaybackSession? { guard let player = player else { return nil } - guard player.isInitialized() else { return nil } - - return Database.shared.getPlaybackSession(id: player.getPlaybackSessionId()) + + return player.getPlaybackSession() } public static func seekForward(amount: Double) {