如何在 Xcode 中使用 AVFoundation 在 11 个专业相机之间切换
How can I switch between 11 pro cameras using AVFoundation in Xcode
我刚开始在 Xcode 中学习 Swift 并且正在创建一个简单的相机应用程序来起床和 运行 宁。我有一个按钮可以在工作的前后摄像头之间切换,但我想添加选项以在 iPhone 11 Pro 上的长焦镜头和超广角镜头之间切换。
我已经为每个镜头(如果检测到)创建了 运行 新 CaptureSession 的函数,但只是想知道如何将这些函数调用到 UIbutton 函数
让我挠头的是用于在前后摄像头之间切换的 if 语句说 if input.device.position == .back {
这只说明它是正面还是背面,而不是镜头本身。什么是制作按钮然后每次按下按钮时从前面更改为广角、长焦、超广角并返回前面的有效方法?
对于术语的任何误用,我深表歉意,我对 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()
}
}
}
欢迎光临!
检查你 this initializer AVCaptureDevice
。您可以指定要使用的 DeviceType
,例如 .builtInUltraWideCamera
或 .builtInTelephotoCamera
。
您可以使用 AVCaptureDevice.DiscoverySession
获取您的应用可用的所有捕获设备的列表。
我刚开始在 Xcode 中学习 Swift 并且正在创建一个简单的相机应用程序来起床和 运行 宁。我有一个按钮可以在工作的前后摄像头之间切换,但我想添加选项以在 iPhone 11 Pro 上的长焦镜头和超广角镜头之间切换。
我已经为每个镜头(如果检测到)创建了 运行 新 CaptureSession 的函数,但只是想知道如何将这些函数调用到 UIbutton 函数
让我挠头的是用于在前后摄像头之间切换的 if 语句说 if input.device.position == .back {
这只说明它是正面还是背面,而不是镜头本身。什么是制作按钮然后每次按下按钮时从前面更改为广角、长焦、超广角并返回前面的有效方法?
对于术语的任何误用,我深表歉意,我对 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()
}
}
}
欢迎光临!
检查你 this initializer AVCaptureDevice
。您可以指定要使用的 DeviceType
,例如 .builtInUltraWideCamera
或 .builtInTelephotoCamera
。
您可以使用 AVCaptureDevice.DiscoverySession
获取您的应用可用的所有捕获设备的列表。