将播放消息发送到在splitView详细信息视图控制器中实例化的MPMoviePlayerController
实例的适当点是什么?
我的应用正在接收上述控制台消息(带有!)但没有崩溃......
该应用正在利用MPMoviePlayerController
从资产网址播放电影
负责任的方法如下:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self startPlayingVideo:self];
}
它播放的视频很好,但控制台消息正在逼近......
如果我将方法调用移至viewWillAppear:animate:
,则控制台消息不会显示。 问题是现在我只能听到音频但看不到视频。
为了完整性,这是被调用的方法......
- (void) startPlayingVideo:(id)sender
NSURL *movieURL = [NSURL URLWithString:self.movieURLString];
if (self.moviePlayer != nil){
[self stopPlayingVideo:nil];
}
self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL ];
if (self.moviePlayer != nil){
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(videoHasFinishedPlaying:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:self.moviePlayer];
self.moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
[self.moviePlayer prepareToPlay];
[self.moviePlayer play];
[self.view addSubview:self.moviePlayer.view];
[self.moviePlayer setFullscreen:YES animated:YES];
} else {
NSLog(@"Failed to instantiate the movie player.");
}
}
答案 0 :(得分:0)
我的原始问题源于将MoviePlayerController作为完全不同的viewController(嵌入在细节导航控制器中)。我重新设计了父视图以包含moviePlayer子视图。这解决了这个问题。