Ios UIImagePickerController和外部显示器
我正在编写一个iPad kiosk类型的应用程序,允许访问者使用前向摄像头录制视频,并查看针对外部显示器的摄像头卷中的现有视频。我只是在学习XCode,并在针对iOS5的XCode 4.4.1中工作。最近似乎发生了很多变化,这使得学习变得更加困难,所以我尝试让事情尽可能简单,这就是我使用UIImagePicker的原因 一切都如我所愿,但有一个例外——我无法按照我的意愿在外部显示器和iPad之间切换。当用户录制视频时,它在iPad上是全屏的。没关系,但是在他们停止录制后,视频会立即发送到外部显示器进行审批,并且会在UIPopover中留下一个占位符图像。我更愿意看到/做的是在iPad上保持视频预览全屏,或者将视频对准UIPopover 原因是,用户在访问iPad时,外部显示器不容易看到。因此,他们被要求批准(点击使用)他们看不到的东西。最好还是把它放在iPad上。下面的代码是我用来允许录制的代码 其他一切都很好,我希望用户从库中选择视频并显示在外部监视器上,因为这是默认行为,所以效果很好 到目前为止,我能找到的最接近的答案是: 有没有一种简单的方法来禁用外部显示或阻止发送视频预览Ios UIImagePickerController和外部显示器,ios,ipad,uiimagepickercontroller,Ios,Ipad,Uiimagepickercontroller,我正在编写一个iPad kiosk类型的应用程序,允许访问者使用前向摄像头录制视频,并查看针对外部显示器的摄像头卷中的现有视频。我只是在学习XCode,并在针对iOS5的XCode 4.4.1中工作。最近似乎发生了很多变化,这使得学习变得更加困难,所以我尝试让事情尽可能简单,这就是我使用UIImagePicker的原因 一切都如我所愿,但有一个例外——我无法按照我的意愿在外部显示器和iPad之间切换。当用户录制视频时,它在iPad上是全屏的。没关系,但是在他们停止录制后,视频会立即发送到外部显示
- (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;
}
}
}
巧合的是,我一直在用iPad开发类似的信息亭应用程序。在我的例子中,它利用一些增强现实在外部显示器上显示相关内容。我使用iPad屏幕作为增强现实体验的配置面板 我发现,实现这一点的最佳方法是为每个显示器使用带有两个UI屏幕的单独窗口。这使您能够正确地设计体验。我不确定你是否已经在使用这种方法,但如果你没有,那么这就是你要走的路 要开始,您可以阅读代码示例。摘自摘录: 从iOS开发者库中的ExternalDisplay示例代码: 要在外部显示器上显示内容,请执行以下操作:
另外,文档也非常有用。巧合的是,我一直在用iPad开发类似的kiosk应用程序。在我的例子中,它利用一些增强现实在外部显示器上显示相关内容。我使用iPad屏幕作为增强现实体验的配置面板 我发现,实现这一点的最佳方法是为每个显示器使用带有两个UI屏幕的单独窗口。这使您能够正确地设计体验。我不确定你是否已经在使用这种方法,但如果你没有,那么这就是你要走的路 要开始,您可以阅读代码示例。摘自摘录: 从iOS开发者库中的ExternalDisplay示例代码: 要在外部显示器上显示内容,请执行以下操作:
此外,文档也非常有用。您是否找到了解决方案?我认为下面的答案只详细说明了如何设置外部设备。我也有一个可以绘制到外部监视器的应用程序,但是当用户使用UIImagePickerController时,它会直接在外部设备应该绘制的任何图形上绘制预览。你有没有找到解决方案?我认为下面的答案只详细说明了如何设置外部设备。我还有一个应用程序可以绘制到外部监视器,但是当用户使用UIImagePickerController时,它会直接在外部设备应该绘制的任何图形上绘制预览。