mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2025-08-28 22:08:47 +02:00
Fix:iOS fallback to transcoding #553
This commit is contained in:
parent
28989f536a
commit
8d4c322bce
3 changed files with 9 additions and 5 deletions
|
@ -238,6 +238,7 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||||
@objc func onPlaybackFailed() {
|
@objc func onPlaybackFailed() {
|
||||||
if (PlayerHandler.getPlayMethod() == PlayMethod.directplay.rawValue) {
|
if (PlayerHandler.getPlayMethod() == PlayMethod.directplay.rawValue) {
|
||||||
let session = PlayerHandler.getPlaybackSession()
|
let session = PlayerHandler.getPlaybackSession()
|
||||||
|
let playWhenReady = PlayerHandler.getPlayWhenReady()
|
||||||
let libraryItemId = session?.libraryItemId ?? ""
|
let libraryItemId = session?.libraryItemId ?? ""
|
||||||
let episodeId = session?.episodeId ?? nil
|
let episodeId = session?.episodeId ?? nil
|
||||||
logger.log("Forcing Transcode")
|
logger.log("Forcing Transcode")
|
||||||
|
@ -247,7 +248,7 @@ public class AbsAudioPlayer: CAPPlugin {
|
||||||
do {
|
do {
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
try session.save()
|
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.sendPlaybackSession(session: try session.asDictionary())
|
||||||
self.sendMetadata()
|
self.sendMetadata()
|
||||||
} catch(let exception) {
|
} catch(let exception) {
|
||||||
|
|
|
@ -30,7 +30,7 @@ class AudioPlayer: NSObject {
|
||||||
private var playerContext = 0
|
private var playerContext = 0
|
||||||
private var playerItemContext = 0
|
private var playerItemContext = 0
|
||||||
|
|
||||||
private var playWhenReady: Bool
|
internal var playWhenReady: Bool
|
||||||
private var initialPlaybackRate: Float
|
private var initialPlaybackRate: Float
|
||||||
|
|
||||||
internal var audioPlayer: AVQueuePlayer
|
internal var audioPlayer: AVQueuePlayer
|
||||||
|
|
|
@ -54,6 +54,10 @@ class PlayerHandler {
|
||||||
self.player?.getCurrentTime()
|
self.player?.getCurrentTime()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static func getPlayWhenReady() -> Bool {
|
||||||
|
self.player?.playWhenReady ?? false
|
||||||
|
}
|
||||||
|
|
||||||
public static func setPlaybackSpeed(speed: Float) {
|
public static func setPlaybackSpeed(speed: Float) {
|
||||||
self.player?.setPlaybackRate(speed)
|
self.player?.setPlaybackRate(speed)
|
||||||
}
|
}
|
||||||
|
@ -88,9 +92,8 @@ class PlayerHandler {
|
||||||
|
|
||||||
public static func getPlaybackSession() -> PlaybackSession? {
|
public static func getPlaybackSession() -> PlaybackSession? {
|
||||||
guard let player = player else { return nil }
|
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) {
|
public static func seekForward(amount: Double) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue