2015-10-14 32 views
0

我剛剛開始AVFoundation,我試圖捕捉圖像。問題是我能夠捕捉圖像,但無法在我的視圖中看到相機。以下是我的代碼:AVFoundation相機不可見

 session = [AVCaptureSession new]; 
if([session canSetSessionPreset:AVCaptureSessionPresetHigh]) 
[session setSessionPreset:AVCaptureSessionPresetHigh];//specifies photo quality 

AVCaptureDevice *inputDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; 
NSError *error; 
AVCaptureDeviceInput *deviceInput = [AVCaptureDeviceInput deviceInputWithDevice:inputDevice error:&error]; 
[session addInput:deviceInput]; 

AVCaptureVideoPreviewLayer *previewLayer = [[AVCaptureVideoPreviewLayer alloc]initWithSession:session]; 
[previewLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill]; 
CALayer *rootLayer = [[self view]layer]; 
[rootLayer setMasksToBounds:YES]; 
[previewLayer setFrame:_cameraView.frame]; 
[rootLayer insertSublayer:previewLayer atIndex:0]; 

stillImageOutput = [AVCaptureStillImageOutput new]; 
[stillImageOutput setOutputSettings:[[NSDictionary alloc]initWithObjectsAndKeys:AVVideoCodecJPEG,AVVideoCodecKey,nil]]; 
[session addOutput:stillImageOutput]; 
    [session startRunning]; 

我的代碼有什麼問題嗎?

回答

1

嘗試[[rootLayer layer] addSublayer:previewLayer];

對我來說,它的工作原理!

+0

是的,我已經這樣做了!!!還是謝謝一個哥們........... – Reckoner