tags:

views:

23

answers:

1

Hello everyone

I used MPMusicPlayerController play a MPMediaItemCollection, how to get the event of at end of playing.

Welcome any comment

Thanks

interdev

A: 

Register for MPMusicPlayerControllerPlaybackStateDidChangeNotification notifications:

[notificationCenter addObserver:self selector:@selector(handlePlaybackStateChanged:) name:MPMusicPlayerControllerPlaybackStateDidChangeNotification object:self.musicPlayer];

and tell your musicPlayerController to generate those notifications:

[self.musicPlayerController beginGeneratingPlaybackNotifications];

In handlePlaybackStateChanged: you can check the playbackState property of musicPlayerController:

- (void)handlePlaybackStateChanged:(NSNotitication*)notification
{
    if (self.musicPlayerController.playbackState == MPMusicPlaybackStateStopped || self.musicPlayerController.playbackState == MPMusicPlaybackStateInterrupted || self.musicPlayerController.playbackState == MPMusicPlaybackStatePaused) {
        // do your stuff
    }
}
Michal