iphone 4 摄像头前后切换

来源:互联网 发布:ieee69节点配电网数据 编辑:程序博客网 时间:2024/05/19 10:38
原文链接地址:http://mobilesolutions.blog.163.com/blog/static/18922417620117854650565/
 
#import <AVFoundation/AVFoundation.h> // Switching between front and back cameras - (AVCaptureDevice *)cameraWithPosition:(AVCaptureDevicePosition)position{    NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];    for ( AVCaptureDevice *device in devices )        if ( device.position == position )            return device;    return nil;} - (void)swapFrontAndBackCameras {    // Assume the session is already running     NSArray *inputs = self.session.inputs;    for ( AVCaptureDeviceInput *input in inputs ) {        AVCaptureDevice *device = input.device;        if ( [device hasMediaType:AVMediaTypeVideo] ) {            AVCaptureDevicePosition position = device.position;            AVCaptureDevice *newCamera = nil;            AVCaptureDeviceInput *newInput = nilif (position == AVCaptureDevicePositionFront)                newCamera = [self cameraWithPosition:AVCaptureDevicePositionBack];            else                newCamera = [self cameraWithPosition:AVCaptureDevicePositionFront];            newInput = [AVCaptureDeviceInput deviceInputWithDevice:newCamera error:nil]// beginConfiguration ensures that pending changes are not applied immediately            [self.session beginConfiguration][self.session removeInput:input];            [self.session addInput:newInput]// Changes take effect once the outermost commitConfiguration is invoked.            [self.session commitConfiguration];            break;        }    } }
原创粉丝点击