mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-27 22:04:08 +02:00
Merge pull request #390 from ronaldheft/fix-ios-seek-back-time
fix: iOS seek back time not winding back
This commit is contained in:
@@ -181,6 +181,7 @@ class AudioPlayer: NSObject {
|
|||||||
let time = CMTime(seconds: Double(seconds), preferredTimescale: timeScale)
|
let time = CMTime(seconds: Double(seconds), preferredTimescale: timeScale)
|
||||||
self.timeObserverToken = self.audioPlayer.addPeriodicTimeObserver(forInterval: time, queue: self.queue) { [weak self] time in
|
self.timeObserverToken = self.audioPlayer.addPeriodicTimeObserver(forInterval: time, queue: self.queue) { [weak self] time in
|
||||||
guard let self = self else { return }
|
guard let self = self else { return }
|
||||||
|
guard self.isInitialized() else { return }
|
||||||
|
|
||||||
guard let currentTime = self.getCurrentTime() else { return }
|
guard let currentTime = self.getCurrentTime() else { return }
|
||||||
let isPlaying = self.isPlaying()
|
let isPlaying = self.isPlaying()
|
||||||
@@ -312,7 +313,7 @@ class AudioPlayer: NSObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func calculateSeekBackTimeAtCurrentTime(_ currentTime: Double, lastPlayed: Double) -> Double {
|
private func calculateSeekBackTimeAtCurrentTime(_ currentTime: Double, lastPlayed: Double) -> Double {
|
||||||
let difference = Date.timeIntervalSinceReferenceDate - lastPlayed
|
let difference = Date().timeIntervalSince1970 - lastPlayed
|
||||||
var time: Double = 0
|
var time: Double = 0
|
||||||
|
|
||||||
// Scale seek back time based on how long since last play
|
// Scale seek back time based on how long since last play
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class PlayerHandler {
|
|||||||
if paused {
|
if paused {
|
||||||
self.player?.pause()
|
self.player?.pause()
|
||||||
} else {
|
} else {
|
||||||
self.player?.play()
|
self.player?.play(allowSeekBack: true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user