當前從iPad輸出視頻到外部顯示器時,它將控件和全部控件移到外部顯示器。這是沒有用的,因爲當控件位於外部顯示器上時無法控制電影。這裏是我們的應用程序的一些代碼片段。如何使用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];
當前在第二個實現中,addi同時在self.view和external_window中,它將在外部顯示器上顯示視頻(帶有控件),iPad屏幕看起來像沒有任何事情發生,除了當電影控件淡出時狀態欄消失。我也嘗試將moviePlayer.view添加到self.view中,然後在iPad上播放電影之前,它會閃爍顯示「在電視上顯示內容」消息的效果。目前該視頻是通過按下按鈕啓動的。使用模擬器和TV Out選項更容易調試。 Xcode版本3.2.5和實際設備上的最新iOS版本。這怎麼解決?它的行爲應該像iPad上的YouTube應用程序一樣。
輝煌,正是我一直在尋找。儘管6個月前沒有其他人發佈解決方案,這太糟糕了。 – Kaili 2011-07-01 20:38:43