I have an iOS 9 app that plays MIDI-like songs using an AudioGraph. I've set up remote control commands with
MPRemoteCommandCenter
and info with
MPNowPlayingInfoCenter
such that the currently playing song shows up in Control Center and responds to control center button presses or headphone button presses. Tapping the pause button in Control Center pauses my song, but the playhead in Control Center keeps moving and the button remains as a pause icon. Tapping it again just keeps calling pause.
Is there a way to update the
MPNowPlayingInfoCenter
or MPRemoteCommandCenter
state such that Control Center knows the song is paused?Solutions I have tried:
- Setting
onenabled
andplayCommand
pauseCommand
has no effect - Setting
toMPNowPlayingInfoPropertyPlaybackRate
in0
MPNowPlayingInfoCenter
stops the playhead from advancing (and resets the elapsed time if I don't explicitly set it as well), but the button is still a pause button - Stopping my audio engine and calling
AVAudioSession.setActive(false)
this does seem to work, but it is slow, causes audio glitches, and other parts of my app rely on the audio engine running even if a song is paused