Есть две части, обычно используемые в комбинации;
Зарегистрируйтесь для регистрации MPMoviePlayerPlaybackStateDidChangeNotification
, например как это:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(MPMoviePlayerPlaybackStateDidChange:)
name:MPMoviePlayerPlaybackStateDidChangeNotification
object:nil];
В обработчике уведомлений вы можете подробно проверить фактическое состояние - например, как это:
- (void)MPMoviePlayerPlaybackStateDidChange:(NSNotification *)notification
{
//are we currently playing?
if (movieController_.playbackState == MPMoviePlaybackStatePlaying)
{ //yes->do something as we are playing...
}
else
{ //nope->do something else since we are not playing
}
}
Вы, конечно, также можете использовать свойство playState, не обрабатывая уведомление о его изменениях. Тем не менее, в большинстве случаев это подходящее место для этого.
При удалении / уничтожении воспроизведения фильма не забудьте удалить обработчик уведомлений, например, как это:
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];