mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2025-08-28 22:08:47 +02:00
Use persisted session to inform seek back
This commit is contained in:
parent
3e31e72734
commit
aed2c31f5a
1 changed files with 9 additions and 11 deletions
|
@ -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()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue