2

私のアプリでは、AVFoundation を使用して画像をキャプチャしています

前面カメラと背面カメラを切り替えるボタンを作成しましたが、機能しません。

使用したコードは次のとおりです。

if (captureDevice.position == AVCaptureDevicePositionFront) {
        for ( AVCaptureDevice *device in [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo] ) {
            if ( device.position == AVCaptureDevicePositionBack) {


                NSError * error;
                AVCaptureDeviceInput * newDeviceInput = [[AVCaptureDeviceInput alloc]initWithDevice:device error:&error];
                [captureSesion beginConfiguration];
                for (AVCaptureDeviceInput *oldInput in [captureSesion inputs]) {
                    [captureSesion removeInput:oldInput];
                }

                if ([captureSesion canAddInput:newDeviceInput]) {
                    [captureSesion addInput:newDeviceInput];
                }                
                [captureSesion commitConfiguration];
                break;
            }
        }
    }

THX。

4

2 に答える 2

2

メイン スレッドで実行されていない場合、トグル コードが機能しないという問題が発生しました。次のブロックでコードをラップしてみてください:

dispatch_async(dispatch_get_main_queue(), ^{
   // Your camera toggle code goes here
});
于 2013-05-17T00:33:06.473 に答える