tags:

views:

331

answers:

1

Hi,

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

+3  A: 

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;
    }
}
Bjarne Mogstad
awesome thanks, I'll give it a try. do you have any ideas about replacing the iPod dock icon with my own app icon?
AggroPanda
By implementing this Apple will putt your icon in the dock
Bjarne Mogstad
Thanks, works a treat! Cheers
AggroPanda