【问题标题】:ios UIImagePickerController delay switching to front camera in the first timeios UIImagePickerController 延迟第一次切换到前置摄像头
【发布时间】:2013-12-24 08:54:25
【问题描述】:

我已经实现了启动 UIImagePickerController 来捕获图片。第一次,后置摄像头出现很快,然后我切换到前置摄像头,它反应很慢。这似乎花了我将近 15 秒的时间。我不知道为什么启动前置摄像头这么慢。

这是我的代码

UIImagePickerController * _picker = nil;

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

    _picker = [[[UIImagePickerController alloc] init] autorelease];

    _picker.delegate = self;

    _picker.allowsEditing = NO;

    _picker.sourceType = UIImagePickerControllerSourceTypeCamera;

    [self presentModalViewController:_picker animated:YES];

}

更新:我的设备是 iPad 2 (iOS 7.0),我还在我的设备上测试了 Facebook 应用程序,当我切换到前置摄像头时它会立即响应。当我在 Ipad mini (iOS 6.1.3) 上测试我的应用程序时,它运行良好,没有发生这个问题。有人能帮我弄清楚吗,我想在初始化 UIImagePickerController 时几乎没有丢失。

更新 2:我写了另一个非常简单的项目。它会立即在 rootViewController 的 viewDidLoad 上启动 UIImagePickerController 并且效果很好,当我切换到前置摄像头时 UIImagePickerController 会立即响应。有人知道吗?

【问题讨论】:

  • 貌似需要15秒,还是实际需要15秒?
  • 它在 10 到 20 秒之间波动
  • 我也遇到了同样的问题,能否分享一下答案
  • @shaik riyaz,很抱歉,我找不到解决方案。现在我不得不暂时接受它来实现其他功能。当其他看起来不错时,我会回到它。
  • @pf2707 感谢您的回复...

标签: ios uiimagepickercontroller


【解决方案1】:

在新线程上执行此操作将取消打开 url 的延迟。我敢打赌这是同样的延迟。 注意:尚未在相机上进行测试。

[NSThread detachNewThreadSelector:@selector(openbrowser_in_background:) toTarget:self withObject:Object];


- (void)openbrowser_in_background:(NSString *)url
{
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString: url]];
}

您可能希望将 openURL 更改为

[self presentModalViewController:_picker animated:YES];

【讨论】:

  • 感谢@Horst,我尝试了您的建议,但问题仍然存在。我想这不是由启动选择器引起的,因为当我呈现图像选择器时它会立即响应。当我点击切换按钮变成前置摄像头时,我冻结了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-23
相关资源
最近更新 更多