1

私は AVFoundation を初めて使用し、AVFoundation を使用してビデオ カメラを実装しようとしています。これが私の基本的なセットアップです。基本的に、ボタンをクリックすると、showCamera メソッドが呼び出されます。ここでは、セッションを作成し、オーディオ入力とビデオ入力を追加してから、ビデオ出力を追加します。

AVCaptureConnection を追加する場所とその方法を教えてください。接続の使用方法を示すチュートリアルはありますか? どんな助けでも大歓迎です。

- (IBAction) showCamera
{
//Add the camview to the current view ontop of controller
[[[[[UIApplication sharedApplication] delegate] self] window] addSubview:camView];

session = [[AVCaptureSession alloc] init];

//Set preset on session to make recording scale high
if ([session canSetSessionPreset:AVCaptureSessionPresetHigh]) {
    session.sessionPreset = AVCaptureSessionPresetHigh;
}

// Add inputs and outputs.
NSArray *devices = [AVCaptureDevice devices];

//Print out all devices on phone
for (AVCaptureDevice *device in devices) 
{

    if ([device hasMediaType:AVMediaTypeVideo]) 
    {

        if ([device position] == AVCaptureDevicePositionBack) 
        {

            //Add Rear Video input to session
            [self addRearCameraInputToSession:session withDevice:device];

        }


    } 
    else if ([device hasMediaType:AVMediaTypeAudio]) 
    {

        //Add Microphone input to session
        [self addMicrophoneInputToSession:session withDevice:device];
    }
    else
    {
        //Show error that your camera does not have a phone
    }
}



//Add movie output
[self addMovieOutputToSession:session];

//Construct preview layer
[self constructPreviewLayerWithSession:session onView:camView];

}

4

2 に答える 2

2

AVCaptureConnections を手動で追加しません。入力と出力の両方を AVCaptureSession オブジェクトに追加すると、接続が自動的に作成されます。ドキュメントを引用します:

入力または出力がセッションに追加されると、セッションは互換性のあるすべてのキャプチャ入力のポートとキャプチャ出力の間の接続を貪欲に形成します。

自動的に作成された接続のいずれかを無効にしたり、videoMirroredまたはvideoOrientationプロパティを変更したりする必要がない限り、それらについてまったく心配する必要はありません。

于 2011-04-19T03:21:31.210 に答える
0

以下の URL を参照してください...

Apple からのドキュメント:

記事:

AVFoundation フレームワーク iPhone を使用したビデオ録画?

お役に立てれば…と思います。

于 2011-04-19T04:47:31.953 に答える