我刚刚开始在Xcode中学习Swift,并且正在创建一个简单的camera App来启动和运行。我有一个按钮,可以在前置摄像头和后置摄像头之间切换,但我想在iPhone 11Pro上添加一个选项,在远程镜头和超宽镜头之间切换。
我已经创建了为每个镜头运行新函数的函数(如果检测到),但我只是想知道如何将这些函数调用到UIbutton CaptureSession
if input.device.position == .back {
说,让我摸不着头脑的是用来在前后摄像头之间切换的if语句
这只适用于镜头的正面或背面,而不是镜头本身。有什么有效的方法可以让按钮在每次按下时从前面变成宽的、Tele的、超宽的和回到前面的?
对于任何术语的误用,我深表歉意,我对Swift的编码非常陌生。谢谢!
{
guard let CurrentCameraInput: AVCaptureInput = CaptureSession?.inputs.first else {
return
}
if let input = CurrentCameraInput as? AVCaptureDeviceInput
{
if input.device.position == .back {
SwitchToFrontCamera() }
if input.device.position == .front {
SwitchToBackCamera()
}
}
}
发布于 2020-04-11 23:47:19
欢迎!
检查你的AVCaptureDevice
的this initializer。您可以指定要使用的DeviceType
,如.builtInUltraWideCamera
或.builtInTelephotoCamera
。
您可以使用AVCaptureDevice.DiscoverySession
获取您的应用程序可用的所有捕获设备的列表。
https://stackoverflow.com/questions/61157862
复制相似问题