iPhone ios4 - Replacing iPod dock icon whilst play

2019-01-31 21:40发布

问题:

I've figured out how I can get audio playing in the background on ios4, however I've noticed that some apps also replace the iPod dock icon with their own app icon. (Last.fm & Spotify for example).

They are also able to use the dock media controls to pause and resume their streams.

Does anyone know how to do this?

Thanks

回答1:

It's easy you have to respond to the Remote Control Events. This also lets you control your app with the headset.

In lets say viewDidLoad call:

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];

And you have to respond to both

- (BOOL)canBecomeFirstResponder {
return YES;
}

And

- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
    switch (event.subtype) {
        case UIEventSubtypeRemoteControlTogglePlayPause:
            if (audio.rate == 0.0) {
                [audio play];
            } else {
                [audio pause];
            }
            break;
        case UIEventSubtypeRemoteControlPlay:
            [audio play];
            break;
        case UIEventSubtypeRemoteControlPause:
            [audio pause];
            break;
        default:
            break;
    }
}