5

特定のビュー コントローラーの背景を設定して、ライブ カメラ ビューを表示することはできますか? もしそうなら、これを可能にするために私を正しい方向に導くことができますか?

4

3 に答える 3

9

はい、もちろん可能です。ライブ カメラ フィードを UIView に埋め込むことができ、好きな場所に配置できます。

ここを読むことから始めます: AVFoundation リファレンス- これはあなたのフレームワークです

あなたが探している特定のクラスはAVCaptureVideoPreviewLayer です

AVCaptureSessionと連携して動作する

そして、これはあなたが必要とするすべてをカバーするプロジェクトの例です: AVCam

于 2013-02-10T02:03:26.730 に答える
8

輸入:

#import <AVFoundation/AVFoundation.h>

カメラ ビューをコントローラーのビューに追加するには、次のコードを に追加しますviewDidLoad

AVCaptureSession *session = [[AVCaptureSession alloc] init];
session.sessionPreset = AVCaptureSessionPresetHigh;

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

NSError *error = nil;
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
[session addInput:input];

AVCaptureVideoPreviewLayer *newCaptureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
newCaptureVideoPreviewLayer.frame = self.view.bounds;

[self.view.layer addSublayer:newCaptureVideoPreviewLayer];

[session startRunning];
于 2015-06-26T15:48:32.090 に答える
3

あなたの最善の策は、 AVCam と呼ばれるこのアップルのサンプル コードをつかんで理解することだと思います。AVCaptureVideoPreviewLayer を作成する方法をコードで確認できます。これを、「背景」として使用する UIView のサブレイヤーとして挿入します。

それが機能するようになると、その UIView はビュー階層の他の部分とまったく同じになります。バックグラウンド UIImageView のように扱うことができます (ただし、より多くのバッテリー パワーを消費します)。

于 2013-02-10T01:59:33.353 に答える