您的位置:首页 > 其它

iphone 4 摄像头前后切换

2012-10-19 11:35 183 查看
原文链接地址:http://mobilesolutions.blog.163.com/blog/static/18922417620117854650565/


#import<AVFoundation/AVFoundation.h>

//Switchingbetweenfrontandbackcameras

-(AVCaptureDevice*)cameraWithPosition:(AVCaptureDevicePosition)position
{
NSArray*devices=[AVCaptureDevicedevicesWithMediaType:AVMediaTypeVideo];
for(AVCaptureDevice*deviceindevices)
if(device.position==position)
returndevice;
returnnil;
}

-(void)swapFrontAndBackCameras{
//Assumethesessionisalreadyrunning

NSArray*inputs=self.session.inputs;
for(AVCaptureDeviceInput*inputininputs){
AVCaptureDevice*device=input.device;
if([devicehasMediaType:AVMediaTypeVideo]){
AVCaptureDevicePositionposition=device.position;
AVCaptureDevice*newCamera=nil;
AVCaptureDeviceInput*newInput=nil;

if(position==AVCaptureDevicePositionFront)
newCamera=[selfcameraWithPosition:AVCaptureDevicePositionBack];
else
newCamera=[selfcameraWithPosition:AVCaptureDevicePositionFront];
newInput=[AVCaptureDeviceInputdeviceInputWithDevice:newCameraerror:nil];

//beginConfigurationensuresthatpendingchangesarenotappliedimmediately
[self.sessionbeginConfiguration];

[self.sessionremoveInput:input];
[self.sessionaddInput:newInput];

//ChangestakeeffectoncetheoutermostcommitConfigurationisinvoked.
[self.sessioncommitConfiguration];
break;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: