目前,当从 iPad 将视频输出到外部显示器时,它将控件和所有内容移动到外部显示器。这没有用,因为当控件位于外部显示器上时,您无法控制电影。以下是我们应用程序中的一些代码片段。
这是屏幕设置代码:(称为 setupExternalScreen 的方法)
if ([[UIScreen screens] count] > 1) {
external_disp = [[UIScreen screens] objectAtIndex:1];
[external_disp setCurrentMode:[[external_disp availableModes] objectAtIndex:0]];
self.external_window = [[UIWindow alloc] init];
external_window.screen = external_disp;
[external_window makeKeyAndVisible];
}
这是 MPMoviePlayerViewController 的创建:
[self setupExternalScreen]; //Calls the code above
MPMoviePlayerViewController *mpv = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
[self presentMoviePlayerViewControllerAnimated:mpv];
我也有一个 MPMoviePlayerController 并且也尝试过这个:
self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerDidFinish:) name:MPMoviePlayerDidExitFullscreenNotification object:[self moviePlayer]];
[self.view addSubview:moviePlayer.view];
if (!external_window) {
[self setupExternalScreen];
}
if (external_window) {
[external_window addSubview:moviePlayer.view];
}
[moviePlayer setControlStyle:MPMovieControlStyleDefault];
[moviePlayer setFullscreen:YES];// animated:NO];
if (![moviePlayer isPreparedToPlay]) [moviePlayer prepareToPlay];
[moviePlayer play];
目前使用第二个实现,添加到 self.view 和 external_window ,它将在外部显示器上显示视频(带控件),并且 iPad 屏幕看起来除了当电影控件淡出时状态栏消失之外没有发生任何事情。我还尝试将 moviePlayer.view 添加到 self.view 中,它会闪烁一些内容,以达到“在电视上显示内容”消息的效果,然后再继续在 iPad 上播放电影。目前,视频是通过按按钮启动的。使用模拟器和电视输出选项,因为它更容易调试。 Xcode 版本 3.2.5 和实际设备上最新版本的 iOS。如何解决这个问题?它的行为应该类似于 iPad 上的 YouTube 应用程序。