:使用AVCapturePhotoSettings:AVCaptureDevice.FlashMode.autoにdevice.flashModeを設定デバイスのフラッシュモードをSwift 4でどのように設定しますか?私は、デバイスのフラッシュをオンにしようとする関数を呼び出してい
private func flashOn(device:AVCaptureDevice)
{
print("flashOn called");
do {
try device.lockForConfiguration()
// line below returns warning 'flashMode' was deprecated in iOS 10.0: Use AVCapturePhotoSettings.flashMode instead.
device.flashMode = AVCaptureDevice.FlashMode.auto
device.unlockForConfiguration()
} catch {
// handle error
print("flash on error");
}
}
が警告「『flashMode』がiOSの10.0で廃止されました起動します代わりに.flashModeを使用してください。 "それは単なる警告であっても、私のアプリをテストする場合には、フラッシュを有効にしませんので、私はにその行を変更します。
AVCapturePhotoSettings.flashMode = AVCaptureDevice.FlashMode.auto
を:それは示唆しているようなので、私は、これにラインを設定
device.flashMode = AVCaptureDevice.FlashMode.auto
そして私は、だから私はスウィフト4.0を使用してXcodeのバージョン9でフラッシュを設定する方法が分からない「インスタンスメンバー 『flashMode』タイプでは使用できません 『AVCapturePhotoSettings』」エラーが
を取得します。私がStack Overflowで見つけたすべての答えは以前のバージョンのものでした。
「フラッシュライト」(英国では「トーチ」)を作ろうとするなら、 'torchMode'を使います。カメラのフラッシュを設定して写真を撮影する場合は、AVCaptureDeviceを使用する代わりに、必要に応じて 'AVCapturePhotoOutput'を' AVCapturePhotoSettings'で設定してください。 – rmaddy
それは私が思ったものですが、タイプ値 "AVCapturePhotoSettings 'にはメンバー' AVCapturePhotoOutput 'がありません。私は写真を撮るときにフラッシュを消すために使っています。 – VagueExplanation
「AVCapturePhotoOutput」のドキュメントから始めてください。 – rmaddy