Skip to content

Instantly share code, notes, and snippets.

@Akemi
Created July 28, 2019 09:55
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Akemi/b264beb7df3bbbb8f1bbad8c659fbba8 to your computer and use it in GitHub Desktop.
Save Akemi/b264beb7df3bbbb8f1bbad8c659fbba8 to your computer and use it in GitHub Desktop.
MPRemoteCommandCenter Test
// call like "swift remote.swift"
import MediaPlayer
let centre = MPRemoteCommandCenter.shared()
let handler: (String) -> ((MPRemoteCommandEvent) -> (MPRemoteCommandHandlerStatus)) = { (name) in
return { (event) -> MPRemoteCommandHandlerStatus in
print("\(name)")
return .success
}
}
centre.pauseCommand.addTarget(handler: handler("pauseCommand"))
centre.playCommand.addTarget(handler: handler("playCommand"))
centre.stopCommand.addTarget(handler: handler("stopCommand"))
centre.togglePlayPauseCommand.addTarget(handler: handler("togglePlayPauseCommand"))
centre.enableLanguageOptionCommand.addTarget(handler: handler("enableLanguageOptionCommand"))
centre.disableLanguageOptionCommand.addTarget(handler: handler("disableLanguageOptionCommand"))
centre.changePlaybackRateCommand.addTarget(handler: handler("changePlaybackRateCommand"))
centre.changeRepeatModeCommand.addTarget(handler: handler("changeRepeatModeCommand"))
centre.changeShuffleModeCommand.addTarget(handler: handler("changeShuffleModeCommand"))
centre.nextTrackCommand.addTarget(handler: handler("nextTrackCommand"))
centre.previousTrackCommand.addTarget(handler: handler("previousTrackCommand"))
centre.skipForwardCommand.addTarget(handler: handler("skipForwardCommand"))
centre.skipBackwardCommand.addTarget(handler: handler("skipBackwardCommand"))
centre.seekForwardCommand.addTarget(handler: handler("seekForwardCommand"))
centre.seekBackwardCommand.addTarget(handler: handler("seekBackwardCommand"))
centre.changePlaybackPositionCommand.addTarget(handler: handler("changePlaybackPositionCommand"))
centre.ratingCommand.addTarget(handler: handler("ratingCommand"))
centre.likeCommand.addTarget(handler: handler("likeCommand"))
centre.dislikeCommand.addTarget(handler: handler("dislikeCommand"))
centre.bookmarkCommand.addTarget(handler: handler("bookmarkCommand"))
MPNowPlayingInfoCenter.default().playbackState = .playing
RunLoop.main.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment