0

videoInput デバイスのリストがあります。最初に、圧縮、出力、および必要なすべての設定を記録するためのデフォルトの入力デバイスを追加します。その後、入力デバイスを変更しようとしていますが、どういうわけか、ビューが機能しなくなり、黒い画面しか表示されません。ビューに入力を表示するだけで、記録していないときに変更しようとしています。変更するコードは次のとおりです。

-(void) changeVideoInput:(QTCaptureDevice *)videoDevice{

    BOOL success = NO;
    NSError *error;

    [mCaptureSession stopRunning];
        [mCaptureSession removeInput:mCaptureVideoDeviceInput]; //current input
        [[mCaptureVideoDeviceInput device] close];

        success = [videoDevice open:&error];

        mCaptureVideoDeviceInput2 = [[QTCaptureDeviceInput alloc] initWithDevice:videoDevice]; //new input

        success = [mCaptureSession addInput:mCaptureVideoDeviceInput2 error:&error];

    [mCaptureSession startRunning];    
}
4

1 に答える 1

0

最後に、コードが機能していることがわかりました。この問題により、デフォルトのビデオ デバイス (名前は「Blackmagic」) が開かれます。そのデバイスを開けないでください。ユニバーサルデバイスです。

于 2013-03-04T11:04:42.417 に答える