ビデオ録画中にアプリでトーチモードAVCaptureTorchModeOnをオンにしたい。
以下のコードを使用しています。
-(void)set_TorchMode:(BOOL)turnOn
{
AVCaptureDevice *theDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([theDevice hasTorch]) {
[theDevice lockForConfiguration: nil];
AVCaptureTorchMode currentMode = [theDevice torchMode];
BOOL isAlreadyTurnedOn = (AVCaptureTorchModeOn == currentMode);
if (isAlreadyTurnedOn != turnOn) {
[theDevice setTorchMode: turnOn? AVCaptureTorchModeOn: AVCaptureTorchModeOff];
}
[theDevice unlockForConfiguration];
}
}
録音を開始してオンにし、録音を停止してオフにするときに、このメソッドを呼び出しています。
初めて録音するときは問題なく動作しますが、2回目の録音を開始するとオンになりますが、すぐにオフになります。録音中はオンのままになりません。
助けてくれてありがとう。