0

iOS 7 でAVCaptureDevice使用するフラッシュの状態を変更する場合:

if ([self.avCaptureDevice isFlashModeSupported:self.avCaptureFlashMode])
{
    NSError *error = nil;
    [self.avCaptureDevice lockForConfiguration:&error];
    if (!error) [self.avCaptureDevice setFlashMode:self.avCaptureFlashMode];
    [self.avCaptureDevice unlockForConfiguration];
}

AVCaptureSessionsを停止して次のコマンドで起動しない限り、デバイスはフラッシュを使用しません。

[self.avCaptureSession stopRunning];
[self.avCaptureSession startRunning];

これにより、カメラが一瞬黒くなります。セッションを停止/開始せずにフラッシュを切り替えることは可能ですか?

4

1 に答える 1

0

セッションに複数の出力 (静止データとビデオデータ) があり、フラッシュが使用されている場合、iOS7 で同様のフラッシュ関連の問題が発生しました。https://devforums.apple.com/message/894764で回避策を見つけました(を呼び出す前に 2 番目の出力を削除しますcaptureStillImageAsynchronouslyFromConnection:completion)。明らかに、これはビデオを一時停止しますが、とにかくシャッター アニメーションがある場合により適している場合があります。

于 2013-10-25T09:47:34.877 に答える