ライブカメラフィードを取得する方法を知っている人はいますUIImageView
か?
カメラフィード(前面カメラ)を表示する必要があるカスタムUIがあるため、を使用できませんUIImagePickerControl
。
キャプチャセッションを作成し、実行を開始する必要があります。それが完了したら、キャプチャセッションからビューにレイヤーを追加できます。
- (void)setupCaptureSession
{
NSError* error = nil;
// Create the session
_captureSession = [[AVCaptureSession alloc] init];
_captureSession.sessionPreset = AVCaptureSessionPresetMedium;
AVCaptureDevice* device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
AVCaptureDeviceInput* input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
[_captureSession addInput:input];
AVCaptureVideoDataOutput* output = [[AVCaptureVideoDataOutput alloc] init];
[_captureSession addOutput:output];
// Configure your output.
dispatch_queue_t queue = dispatch_queue_create("myCameraOutputQueue", NULL);
//If you want to sebsequently use the data, then implement the delegate.
[output setSampleBufferDelegate:self queue:queue];
}
これが完了したら、次のようにプレビューレイヤーを作成できます。
_previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:_captureSession];
[_captureSession startRunning];
次に、プレビューレイヤーをビューに追加します。
_myView.layer addSubLayer:_previewLayer];