diff --git a/apple/OmnivoreKit/Sources/Services/AudioSession/AudioController.swift b/apple/OmnivoreKit/Sources/Services/AudioSession/AudioController.swift index 57fefa5aa..9e6dd9477 100644 --- a/apple/OmnivoreKit/Sources/Services/AudioSession/AudioController.swift +++ b/apple/OmnivoreKit/Sources/Services/AudioSession/AudioController.swift @@ -200,7 +200,9 @@ public class AudioController: NSObject, ObservableObject, AVAudioPlayerDelegate @AppStorage(UserDefaultKey.textToSpeechPlaybackRate.rawValue) public var playbackRate = 1.0 { didSet { - print("setting textToSpeechPlaybackRate: ", playbackRate) + updateDurations(oldPlayback: oldValue, newPlayback: playbackRate) + unpause() + fireTimer() } } @@ -223,6 +225,12 @@ public class AudioController: NSObject, ObservableObject, AVAudioPlayerDelegate return "en-US-EricNeural" } + private func updateDurations(oldPlayback: Double, newPlayback: Double) { + if let oldDurations = durations { + durations = oldDurations.map { $0 * oldPlayback / newPlayback } + } + } + public func isLoadingItem(item: LinkedItem) -> Bool { (state == .loading || player?.currentItem?.status == .unknown) && self.item == item }