diff --git a/ios/App/Shared/player/AudioPlayer.swift b/ios/App/Shared/player/AudioPlayer.swift index 8231fbd9..dda8e55e 100644 --- a/ios/App/Shared/player/AudioPlayer.swift +++ b/ios/App/Shared/player/AudioPlayer.swift @@ -487,9 +487,17 @@ class AudioPlayer: NSObject { public func getCurrentTime() -> Double? { guard let playbackSession = self.getPlaybackSession() else { return nil } - let currentTrackTime = self.audioPlayer.currentTime().seconds let audioTrack = playbackSession.audioTracks[currentTrackIndex] let startOffset = audioTrack.startOffset ?? 0.0 + + // if the currentTrackTime is not a number, then track isn't loaded + // fall back on session. + var currentTrackTime = self.audioPlayer.currentTime().seconds + if currentTrackTime.isNaN { + if let currentChapter = playbackSession.getCurrentChapter() { + currentTrackTime = currentChapter.getRelativeChapterCurrentTime(sessionCurrentTime:playbackSession.currentTime) + } + } return startOffset + currentTrackTime }