私は、訪問者が正面カメラを使用してビデオを録画し、外部モニターをターゲットにしているカメラ ロール内の既存のビデオを表示できる iPad キオスク タイプのアプリケーションを作成しています。私はちょうど XCode を学んでいて、iOS 5 を対象とした Xcode 4.4.1 で作業しています。 UIImagePicker を使用します。
1 つの例外を除いて、すべてが希望どおりに機能しています。外部ディスプレイと iPad を希望どおりに切り替えることができません。ユーザーがビデオを録画すると、iPad でフルスクリーンになります。それは問題ありませんが、記録を停止した後、ビデオは承認のためにすぐに外部ディスプレイに送信され、プレースホルダー画像が UIPopover に残されます。私が見たい/やりたいことは、iPad でビデオ プレビューを全画面表示に保つか、ビデオを UIPopover に向けることです。
その理由は、ユーザーが iPad にアクセスしている場所から外部ディスプレイを簡単に見ることができないためです。したがって、彼らは実際には見えないものを承認する ([使用] をクリックする) よう求められています。iPadに保存しておく方がはるかに良いでしょう。以下のコードは、録音を許可するために使用したものです。
ユーザーがライブラリからビデオを選択して外部モニターに表示するようにしたいのですが、それがデフォルトの動作であるため、正常に動作します。
これまでに見つけた最も近い答えは次のとおりです:既存の UIPopoverController 内の UIImagePickerController
外部ディスプレイを無効にする、またはビデオ プレビューが送信されないようにする簡単な方法はありますか?
- (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;
}
}
}