バックカメラからフラッシュライトをオン/オフにする方法は分かっています。私はフロント/バックカメラを切り替える方法を知っています。しかし、私はアクティブなカメラから独立してフラッシュライトをオン/オフする方法を知らない。フロントカメラでライト/トーチをオンにする
私は、アクティブなカメラがフロントのカメラである場合、フラッシュライトをオンにすると、カメラがフリーズすることを意味します。そして私がそれをオフにすると、それは解凍されます。これまで
マイコード:
var back_cam:AVCaptureDevice?
for device in devices{
if (device as AnyObject).hasMediaType(AVMediaTypeVideo) && (device as AnyObject).position == .back{
back_cam=device as? AVCaptureDevice
}
}
guard let cam=back_cam else {
print("no back cam?")
return
}
if cam.hasTorch{
do{
try cam.lockForConfiguration()
if cam.torchMode == .on{
cam.torchMode = .off
}else{
do{
try cam.setTorchModeOnWithLevel(1)
}catch{
print(error)
}
}
cam.unlockForConfiguration()
}catch{
print(error)
}
}
}
EDIT
場合、私は明確ではないですが、私は、アクティブなカメラ天気を関わらず、上の光を維持したいと思います後ろの1つまたは前のものです。
"デフォルトの動作はトーチモードオフです":しかし、私は正確にデフォルトの動作を得ようとしていません。アクティブなカメラがバックカメラかフロントパネルかにかかわらず、ライトを点灯します。 –
フロントカメラに変更すると、isTorchModeSupportedはfalseを返します。つまり、この場合のデフォルト動作を無効にすることはできません。 – Bluewings
はい、それは可能ではないと思います...とにかくありがとうございます。 –