Доступ к фронтальной камере.iPhone / iPod 4 - PullRequest
5 голосов
/ 19 января 2011

Эй, мне было интересно, как я могу получить доступ к фронтальной камере.Может быть, есть какое-то руководство для этого?Но мне не нужны все кнопки и т. Д. Я просто хочу получить доступ к находящейся напротив камере, я не хочу кнопку, чтобы сделать фотографию или что-то подобное.

Ответы [ 5 ]

17 голосов
/ 19 января 2011

Вы можете получить доступ к фронтальной камере, например:

picker.cameraDevice = UIImagePickerControllerCameraDeviceFront;

Ознакомьтесь с UIImagePickerController Reference Reference

3 голосов
/ 19 января 2011

Просто установите для свойства cameraDevice UIImagePickerController значение UIImagePickerControllerCameraDeviceFront.Но вы должны проверить, доступно ли устройство.

2 голосов
/ 28 мая 2012

Ну, то, что сказал "Хушбу Шах", верно. однако на самом деле 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];
2 голосов
/ 19 января 2011

Вы должны запустить AVCaptureSession и указать, какой AVCaptureDevice использовать (AVCaptureDevicePositionFront в вашем случае).

Начните искать документацию AVCaptureSession, и вы должны лучше понять, что делать.

1 голос
/ 14 февраля 2012

Первое, что вам нужно сделать, это определить, есть ли на вашем устройстве фронтальная камера. Для этого вам нужно перебрать видеоустройства.

Попробуйте этот метод UIImagePickerController:

+ (BOOL)isCameraDeviceAvailable:(UIImagePickerControllerCameraDevice)cameraDevice

Это метод класса, и UIImagePickerControllerCameraDevice может принимать два значения:

- UIImagePickerControllerCameraDeviceRear
- UIImagePickerControllerCameraDeviceFront

Пример кода:

if( [UIImagePickerController isCameraDeviceAvailable: UIImagePickerControllerCameraDeviceFront]){
   // do something
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...