このコードを使用して再生および表示される映画がいくつかあります。
ご覧のとおり、デフォルトのムービー コントロールも削除し、基本的にビデオを停止するカスタム オーバーレイを追加しました。
これが私の問題です...カスタムオーバーレイボタンでムービーを停止すると、「MPMoviePlayerPlaybackDidFinishNotification」が表示されないようです
注: ムービーを再生して自然に停止すると、すべて正常に動作します。
PlaybackDidFinish 通知を「強制」する方法はありますか?
このようなことはできますか[self moviePlayBackDidFinish:something]
??
ありがとう!
- (void) playMovie {
NSString *path = [[NSBundle mainBundle] pathForResource:@"movie_frog" ofType:@"m4v"];
NSURL *url = [NSURL fileURLWithPath:path];
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:url];
if(mp) {
self.myMoviePlayer = mp;
[mp release];
//movie view
[self.view addSubview:myMoviePlayer.view];
myMoviePlayer.view.frame = CGRectMake(0.0,0.0,480,320);
self.myMoviePlayer.controlStyle = MPMovieControlStyleNone;
[self.myMoviePlayer play];
//videoNav
_videoNav = [[videoNav alloc] initWithNibName:@"videoNav" bundle:nil];
[self.view addSubview:_videoNav.view];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];
}
}