进入前置摄像头。 iPhone / iPod 4

时间:2011-01-18 22:24:26

标签: iphone objective-c camera

嘿,我想知道如何才能进入前置摄像头。也许有一些指南呢? 但我不想要所有的按钮等我只是想要从面对面的相机,我没有蚂蚁按钮拍照或类似的东西。

5 个答案:

答案 0 :(得分:17)

您可以访问前置摄像头,如:

picker.cameraDevice = UIImagePickerControllerCameraDeviceFront;

查看UIImagePickerController Class Reference

答案 1 :(得分:3)

只需将cameraDevice的{​​{1}}属性设置为UIImagePickerControllerCameraDeviceFront即可。但是你应该检查设备是否可用。

答案 2 :(得分:2)

您应该启动AVCaptureSession并指定要使用的AVCaptureDevice(在您的情况下为AVCaptureDevicePositionFront)。

开始寻找AVCaptureSession文档,您应该更好地了解该做什么。

答案 3 :(得分:2)

嗯,“Khushbu Shah”说的是对的。但实际上isCameraDeviceAvailable仅适用于ios 4及以上版本。只是为了确保只在前置摄像头打开时,才能使用正确的代码块如下所示。

UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
ipc.delegate = self;
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
    ipc.sourceType = UIImagePickerControllerSourceTypeCamera;

    if([UIImagePickerController respondsToSelector:@selector(isCameraDeviceAvailable:)])
    { //check if iphone 4 and above
        if([UIImagePickerController isCameraDeviceAvailable:UIImagePickerControllerCameraDeviceFront])
        {
            ipc.cameraDevice=UIImagePickerControllerCameraDeviceFront;
        }
    }
}

[ipc release];

答案 4 :(得分:1)

您需要做的第一件事就是检测您的设备是否有前置摄像头。为此,您需要遍历视频设备。

尝试UIImagePickerController的这种方法:

+ (BOOL)isCameraDeviceAvailable:(UIImagePickerControllerCameraDevice)cameraDevice

这是一个类方法,UIImagePickerControllerCameraDevice可以采用两个值:

- UIImagePickerControllerCameraDeviceRear
- UIImagePickerControllerCameraDeviceFront

示例代码:

if( [UIImagePickerController isCameraDeviceAvailable: UIImagePickerControllerCameraDeviceFront]){
   // do something
}