Используя MPMusicPlayerController, воспроизведите MPMediaItemCollection, как получить событие в конце игры. - PullRequest
3 голосов
/ 26 октября 2010

Я использую MPMusicPlayerController, чтобы играть MPMediaItems в MPMediaItemCollection. Как я могу запустить событие, когда MPMediaItem s закончили играть?

Спасибо! InterDev

1 Ответ

5 голосов
/ 26 октября 2010

Зарегистрироваться для MPMusicPlayerControllerPlaybackStateDidChangeNotification уведомлений:

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

и сообщите вашему musicPlayerController для генерации этих уведомлений:

[self.musicPlayerController beginGeneratingPlaybackNotifications];

В handlePlaybackStateChanged: вы можете проверить свойство playbackState musicPlayerController:

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