【发布时间】:2012-07-06 09:25:50
【问题描述】:
我正在使用以下代码在 MPMoviePlayerController 中播放视频文件
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"one" ofType:@"mp4"];
NSURL* url = [NSURL fileURLWithPath:filePath];
_movie = [[MPMoviePlayerController alloc] initWithContentURL:url];
[_movie.view setFrame:self.view.bounds];
[self.view addSubview:_movie.view];
_movie.fullscreen=YES;
_movie.controlStyle=MPMovieControlStyleFullscreen;
[_movie prepareToPlay];
[_movie play];
和
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(close:)name:MPMoviePlayerPlaybackDidFinishNotification object:_movie];
和
- (void) close:(NSNotification *)notification {
int reason = [[[notification userInfo] valueForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] intValue];
if(reason == MPMoviePlaybackStateStopped) {
NSLog(@"Stop");
}
else if (reason == MPMovieFinishReasonPlaybackEnded) {
NSLog(@"Playback Ended ");
}
else if (reason == MPMovieFinishReasonUserExited) {
NSLog(@"Exited");
[_movie.view removeFromSuperview];
}
else if (reason == MPMovieFinishReasonPlaybackError) {
//error
NSLog(@"Error");
}
}
我能够收到通知,并且 Movieplayer 没有从超级视图中删除。
可能是什么问题??
【问题讨论】:
-
你想只删除 userwillexited 中的 mpmovieplayercontroller 吗?
-
是的,没错。我的意思是当按下完成按钮时。
-
现在,如果我点击完成按钮,电影就消失了(屏幕是黑色的)。但控件仍然存在。
标签: ios xcode cocoa mpmovieplayercontroller mpmovieplayer