Ios 如何使用AVCapture会话/AVCapture正确启动摄像头会话
我想在objective C中制作一个iOS应用程序。现在我一直在制作AVCapture预览输出的预览层。有人能告诉我如何使用iOS Objective C中的AVCapture camera会话成功启动图像捕获会话吗?非常感谢您的帮助。谢谢。我给你回答AVCaptureSession的问题Ios 如何使用AVCapture会话/AVCapture正确启动摄像头会话,ios,objective-c,avcapturesession,avcapture,Ios,Objective C,Avcapturesession,Avcapture,我想在objective C中制作一个iOS应用程序。现在我一直在制作AVCapture预览输出的预览层。有人能告诉我如何使用iOS Objective C中的AVCapture camera会话成功启动图像捕获会话吗?非常感谢您的帮助。谢谢。我给你回答AVCaptureSession的问题 -(void)capture { NSError *error=nil; //Capture Session AVCaptureSession *session = [[AVCaptur
-(void)capture
{
NSError *error=nil;
//Capture Session
AVCaptureSession *session = [[AVCaptureSession alloc]init];
session.sessionPreset = AVCaptureSessionPresetPhoto;
//Add device
AVCaptureDevice *inputDevice = nil;
NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
for(AVCaptureDevice *camera in devices)
{
if([camera position] == AVCaptureDevicePositionBack) // is Back camera
{
inputDevice = camera;
break;
}
}
[session addInput:inputDevice];
//Output
AVCaptureVideoDataOutput *output = [[AVCaptureVideoDataOutput alloc] init];
[session addOutput:output];
output.videoSettings = @{ (NSString *)kCVPixelBufferPixelFormatTypeKey : @(kCVPixelFormatType_32BGRA) };
//Preview Layer
AVCaptureVideoPreviewLayer *previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
previewLayer.frame = viewForCamera.bounds;
previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
[viewForCamera.layer addSublayer:previewLayer];
//Start capture session
[session startRunning];
}
请尝试此代码以获取相机id
NSString *cameraID = nil;
NSArray *captureDeviceType = @[AVCaptureDeviceTypeBuiltInWideAngleCamera];
AVCaptureDeviceDiscoverySession *captureDevice =
[AVCaptureDeviceDiscoverySession
discoverySessionWithDeviceTypes:captureDeviceType
mediaType:AVMediaTypeVideo
position:AVCaptureDevicePositionUnspecified];
cameraID = [captureDevice.devices.lastObject localizedName];
显示您的代码,直到现在您已经尝试感谢您。让我试试这个。