在我的应用程序中,我尝试在 UIImagePicker 中默认使用前置摄像头。我知道,看起来很简单......
imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
现在,我第一次启动Picker时,一切都可以正常工作,并且前置摄像头是初始化的,但是当采摘器被解散并再次呈现后,使用后摄像头。从那以后,如果我连续打开和关闭拾取器,则使用的相机将是:前、后、前、后、前、后...
我已将这段代码精简到选择器的最基本部分,试图隔离问题,但问题仍然存在。有没有人遇到过这个问题?任何指示或方向将不胜感激!
编辑: 问题已解决!我在 viewDidLoad 中调用 imagePicker = [[UIImagePickerController alloc] init]; 而不是 viewDidAppear!
最佳答案
问题必须在于您如何尝试初始化/呈现/关闭您的 Controller 。
那么,为什么要在相机之间来回切换?
似乎底层 AVCaptureSession 出于某种原因在 Controller 关闭后继续运行。所以下次你展示它时,它会尝试添加输入但它很忙,所以转到下一个可用的(后置摄像头),中断自己(从而释放前一个)等等。
关于objective-c - UIImagePickerController Camera Device Front 每隔一段时间才工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10967139/