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 = nil; if (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; } } }