mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-07 04:18:48 +02:00
Use persisted session to inform seek back
This commit is contained in:
@@ -25,7 +25,6 @@ class AudioPlayer: NSObject {
|
|||||||
@objc dynamic var rate: Float
|
@objc dynamic var rate: Float
|
||||||
|
|
||||||
private var tmpRate: Float = 1.0
|
private var tmpRate: Float = 1.0
|
||||||
private var lastPlayTime: Double = 0.0
|
|
||||||
|
|
||||||
private var playerContext = 0
|
private var playerContext = 0
|
||||||
private var playerItemContext = 0
|
private var playerItemContext = 0
|
||||||
@@ -229,21 +228,22 @@ class AudioPlayer: NSObject {
|
|||||||
// Capture remaining sleep time before changing the track position
|
// Capture remaining sleep time before changing the track position
|
||||||
let sleepSecondsRemaining = PlayerHandler.remainingSleepTime
|
let sleepSecondsRemaining = PlayerHandler.remainingSleepTime
|
||||||
|
|
||||||
if allowSeekBack {
|
if allowSeekBack, let session = Database.shared.getPlaybackSession(id: self.sessionId) {
|
||||||
let diffrence = Date.timeIntervalSinceReferenceDate - lastPlayTime
|
let lastPlayed = (session.updatedAt ?? 0)/1000
|
||||||
|
let difference = Date.timeIntervalSinceReferenceDate - lastPlayed
|
||||||
var time: Int?
|
var time: Int?
|
||||||
|
|
||||||
if lastPlayTime == 0 {
|
if lastPlayed == 0 {
|
||||||
time = 5
|
time = 5
|
||||||
} else if diffrence < 6 {
|
} else if difference < 6 {
|
||||||
time = 2
|
time = 2
|
||||||
} else if diffrence < 12 {
|
} else if difference < 12 {
|
||||||
time = 10
|
time = 10
|
||||||
} else if diffrence < 30 {
|
} else if difference < 30 {
|
||||||
time = 15
|
time = 15
|
||||||
} else if diffrence < 180 {
|
} else if difference < 180 {
|
||||||
time = 20
|
time = 20
|
||||||
} else if diffrence < 3600 {
|
} else if difference < 3600 {
|
||||||
time = 25
|
time = 25
|
||||||
} else {
|
} else {
|
||||||
time = 29
|
time = 29
|
||||||
@@ -253,7 +253,6 @@ class AudioPlayer: NSObject {
|
|||||||
seek(getCurrentTime() - Double(time!), from: "play")
|
seek(getCurrentTime() - Double(time!), from: "play")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lastPlayTime = Date.timeIntervalSinceReferenceDate
|
|
||||||
|
|
||||||
self.stopPausedTimer()
|
self.stopPausedTimer()
|
||||||
|
|
||||||
@@ -285,7 +284,6 @@ class AudioPlayer: NSObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
updateNowPlaying()
|
updateNowPlaying()
|
||||||
lastPlayTime = Date.timeIntervalSinceReferenceDate
|
|
||||||
|
|
||||||
self.startPausedTimer()
|
self.startPausedTimer()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user