このコードを追加しました:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loadMoviePlayerStateChanged:)
name:MPMoviePlayerLoadStateDidChangeNotification
object:self.mp];
MPMoviePlayer のすべての状態変化を次の関数で起動します。
- (void) loadMoviePlayerStateChanged:(NSNotification*)notification
{
MPMoviePlayerController *Player = notification.object;
MPMoviePlaybackState playbackState = Player.playbackState;
if (playbackState == MPMoviePlaybackStateSeekingForward)
{
NSLog(@"Forward");
}
else if (playbackState == MPMoviePlaybackStateSeekingBackward)
{
NSLog(@"Backward");
}
}
この機能に入ります...
しかし、問題は MPMoviePlaybackState PlaybackState = Player.playbackState; にあります。
プレーヤーを起動すると、playerState は 1 で、他のすべての変更では 0 になります。
編集:
これも毎回実装すると nil になります。
NSNumber *reason = [notification.userInfo objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey];
if ([reason intValue] == MPMoviePlaybackStateSeekingForward) {
// done button clicked!
}