mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-27 13:54:01 +02:00
Merge pull request #528 from blampe/seek
Handle skip track events on iOS
This commit is contained in:
@@ -571,6 +571,8 @@ class AudioPlayer: NSObject {
|
|||||||
}
|
}
|
||||||
let commandCenter = MPRemoteCommandCenter.shared()
|
let commandCenter = MPRemoteCommandCenter.shared()
|
||||||
let deviceSettings = Database.shared.getDeviceSettings()
|
let deviceSettings = Database.shared.getDeviceSettings()
|
||||||
|
let jumpForwardTime = deviceSettings.jumpForwardTime
|
||||||
|
let jumpBackwardsTime = deviceSettings.jumpBackwardsTime
|
||||||
|
|
||||||
commandCenter.playCommand.isEnabled = true
|
commandCenter.playCommand.isEnabled = true
|
||||||
commandCenter.playCommand.addTarget { [weak self] event in
|
commandCenter.playCommand.addTarget { [weak self] event in
|
||||||
@@ -584,7 +586,7 @@ class AudioPlayer: NSObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
commandCenter.skipForwardCommand.isEnabled = true
|
commandCenter.skipForwardCommand.isEnabled = true
|
||||||
commandCenter.skipForwardCommand.preferredIntervals = [NSNumber(value: deviceSettings.jumpForwardTime)]
|
commandCenter.skipForwardCommand.preferredIntervals = [NSNumber(value: jumpForwardTime)]
|
||||||
commandCenter.skipForwardCommand.addTarget { [weak self] event in
|
commandCenter.skipForwardCommand.addTarget { [weak self] event in
|
||||||
guard let command = event.command as? MPSkipIntervalCommand else {
|
guard let command = event.command as? MPSkipIntervalCommand else {
|
||||||
return .noSuchContent
|
return .noSuchContent
|
||||||
@@ -596,7 +598,7 @@ class AudioPlayer: NSObject {
|
|||||||
return .success
|
return .success
|
||||||
}
|
}
|
||||||
commandCenter.skipBackwardCommand.isEnabled = true
|
commandCenter.skipBackwardCommand.isEnabled = true
|
||||||
commandCenter.skipBackwardCommand.preferredIntervals = [NSNumber(value: deviceSettings.jumpBackwardsTime)]
|
commandCenter.skipBackwardCommand.preferredIntervals = [NSNumber(value: jumpBackwardsTime)]
|
||||||
commandCenter.skipBackwardCommand.addTarget { [weak self] event in
|
commandCenter.skipBackwardCommand.addTarget { [weak self] event in
|
||||||
guard let command = event.command as? MPSkipIntervalCommand else {
|
guard let command = event.command as? MPSkipIntervalCommand else {
|
||||||
return .noSuchContent
|
return .noSuchContent
|
||||||
@@ -608,6 +610,23 @@ class AudioPlayer: NSObject {
|
|||||||
return .success
|
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.isEnabled = true
|
||||||
commandCenter.changePlaybackPositionCommand.addTarget { [weak self] event in
|
commandCenter.changePlaybackPositionCommand.addTarget { [weak self] event in
|
||||||
guard let event = event as? MPChangePlaybackPositionCommandEvent else {
|
guard let event = event as? MPChangePlaybackPositionCommandEvent else {
|
||||||
|
|||||||
Reference in New Issue
Block a user