diff --git a/ios/App/Shared/player/AudioPlayer.swift b/ios/App/Shared/player/AudioPlayer.swift index 441eb8e5..da9c7ffc 100644 --- a/ios/App/Shared/player/AudioPlayer.swift +++ b/ios/App/Shared/player/AudioPlayer.swift @@ -571,6 +571,8 @@ class AudioPlayer: NSObject { } let commandCenter = MPRemoteCommandCenter.shared() let deviceSettings = Database.shared.getDeviceSettings() + let jumpForwardTime = deviceSettings.jumpForwardTime + let jumpBackwardsTime = deviceSettings.jumpBackwardsTime commandCenter.playCommand.isEnabled = true commandCenter.playCommand.addTarget { [weak self] event in @@ -584,7 +586,7 @@ class AudioPlayer: NSObject { } commandCenter.skipForwardCommand.isEnabled = true - commandCenter.skipForwardCommand.preferredIntervals = [NSNumber(value: deviceSettings.jumpForwardTime)] + commandCenter.skipForwardCommand.preferredIntervals = [NSNumber(value: jumpForwardTime)] commandCenter.skipForwardCommand.addTarget { [weak self] event in guard let command = event.command as? MPSkipIntervalCommand else { return .noSuchContent @@ -596,7 +598,7 @@ class AudioPlayer: NSObject { return .success } commandCenter.skipBackwardCommand.isEnabled = true - commandCenter.skipBackwardCommand.preferredIntervals = [NSNumber(value: deviceSettings.jumpBackwardsTime)] + commandCenter.skipBackwardCommand.preferredIntervals = [NSNumber(value: jumpBackwardsTime)] commandCenter.skipBackwardCommand.addTarget { [weak self] event in guard let command = event.command as? MPSkipIntervalCommand else { return .noSuchContent @@ -608,6 +610,23 @@ class AudioPlayer: NSObject { return .success } + commandCenter.nextTrackCommand.isEnabled = true + commandCenter.nextTrackCommand.addTarget { [weak self] _ in + guard let currentTime = self?.getCurrentTime() else { + return .commandFailed + } + self?.seek(currentTime + Double(jumpForwardTime), from: "remote") + return .success + } + commandCenter.previousTrackCommand.isEnabled = true + commandCenter.previousTrackCommand.addTarget { [weak self] _ in + guard let currentTime = self?.getCurrentTime() else { + return .commandFailed + } + self?.seek(currentTime - Double(jumpBackwardsTime), from: "remote") + return .success + } + commandCenter.changePlaybackPositionCommand.isEnabled = true commandCenter.changePlaybackPositionCommand.addTarget { [weak self] event in guard let event = event as? MPChangePlaybackPositionCommandEvent else {