我正在寫一個iPad亭型應用程序,它允許訪問者使用前置攝像頭錄製視頻,並查看攝像機卷中以外部監視器爲目標的現有視頻。我只是學習XCode,並且在針對iOS 5的Xcode 4.4.1中工作。最近似乎有很多變化,這使得學習變得更加困難,所以我試圖讓事情儘可能簡單,這就是爲什麼我使用UIImagePicker。UIImagePickerController和外部顯示器
一切工作正常,只有一個例外 - 我無法在外部顯示器和iPad之間切換。當用戶錄製視頻時,它在iPad上全屏顯示。這很好,但是在他們停止錄製後,視頻立即被髮送到外部顯示器進行批准,並且佔位符圖像留在UIPopover中。我更願意看到/做的是將視頻預覽全屏保存在iPad上,或將視頻定位到UIPopover。
原因是外部顯示屏不容易從用戶訪問iPad的位置查看。因此,他們被要求批准(點擊使用)他們不能真正看到的東西。將它保存在iPad上會好得多。下面的代碼是我用來允許錄製的。
其他一切都很好,我希望用戶從庫中選擇視頻並顯示在外部監視器上,因爲這是默認行爲,所以它工作正常。
最接近的答案我能找到到目前爲止是這樣的:UIImagePickerController in an existing UIPopoverController
有沒有一種簡單的方法來禁用外接顯示器或保持被髮送的視頻預覽?
- (IBAction)useCameraRoll:(id)sender
{
if([self.popoverController isPopoverVisible]) {
[self.popoverController dismissPopoverAnimated:YES];
} else {
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
UIImagePickerController *imagePicker =
[[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
imagePicker.mediaTypes = [NSArray arrayWithObjects:(NSString *) kUTTypeMovie, nil];
imagePicker.allowsEditing = NO;
self.popoverController = [[UIPopoverController alloc] initWithContentViewController:imagePicker];
//self.popoverController = [[UIPopoverController alloc] setContentViewController:animated];
self.popoverController.delegate = self;
[self.popoverController
presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
newMedia = NO;
}
}
}
你有沒有找到解決這個問題的方法?我想下面的答案只是詳細說明如何設置外部設備。我也有一個繪製到外部顯示器的應用程序,但是當用戶使用UIImagePickerController時,它會直接在外部設備應該繪製的任何位置繪製預覽。 –