mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2025-08-03 17:44:51 +02:00
Fix seeking in NowPlaying to adjust for chapter start time
This commit is contained in:
parent
322cad5548
commit
3cc7a0937c
1 changed files with 17 additions and 10 deletions
|
@ -668,7 +668,14 @@ class AudioPlayer: NSObject {
|
|||
return .noSuchContent
|
||||
}
|
||||
|
||||
self?.seek(event.positionTime, from: "remote")
|
||||
// Adjust seek time if chapter track is being used
|
||||
var seekTime = event.positionTime
|
||||
if PlayerSettings.main().chapterTrack {
|
||||
if let session = self?.getPlaybackSession(), let currentChapter = session.getCurrentChapter() {
|
||||
seekTime += currentChapter.start
|
||||
}
|
||||
}
|
||||
self?.seek(seekTime, from: "remote")
|
||||
return .success
|
||||
}
|
||||
|
||||
|
@ -686,15 +693,15 @@ class AudioPlayer: NSObject {
|
|||
private func updateNowPlaying() {
|
||||
NotificationCenter.default.post(name: NSNotification.Name(PlayerEvents.update.rawValue), object: nil)
|
||||
if let session = self.getPlaybackSession(), let currentChapter = session.getCurrentChapter(), PlayerSettings.main().chapterTrack {
|
||||
NowPlayingInfo.shared.update(
|
||||
duration: currentChapter.getRelativeChapterEndTime(),
|
||||
currentTime: currentChapter.getRelativeChapterCurrentTime(sessionCurrentTime: session.currentTime),
|
||||
rate: rate,
|
||||
chapterName: currentChapter.title,
|
||||
chapterNumber: (session.chapters.firstIndex(of: currentChapter) ?? 0) + 1,
|
||||
chapterCount: session.chapters.count
|
||||
)
|
||||
} else if let duration = self.getDuration(), let currentTime = self.getCurrentTime() {
|
||||
NowPlayingInfo.shared.update(
|
||||
duration: currentChapter.getRelativeChapterEndTime(),
|
||||
currentTime: currentChapter.getRelativeChapterCurrentTime(sessionCurrentTime: session.currentTime),
|
||||
rate: rate,
|
||||
chapterName: currentChapter.title,
|
||||
chapterNumber: (session.chapters.firstIndex(of: currentChapter) ?? 0) + 1,
|
||||
chapterCount: session.chapters.count
|
||||
)
|
||||
} else if let duration = self.getDuration(), let currentTime = self.getCurrentTime() {
|
||||
NowPlayingInfo.shared.update(duration: duration, currentTime: currentTime, rate: rate)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue