小编Mou*_*rad的帖子

iPhone 13 Pro / swift / AVFoundationbuiltInTripleCamera:如何启用相机之间的自动切换?

我目前正在使用 swiftUI AVFoundation 为 iOS 制作一个自定义相机应用程序。我也刚买了iPhone 13 Pro。在本机相机应用程序上,相机根据焦点自动切换(微距超广角/中距离广角/聚焦远处物体时长焦)。文档中也提到了这一点:

内置三摄像头支持以下功能: 当变焦系数、光线水平和对焦位置允许时,自动从一个摄像头切换到另一个摄像头。

如何在我的自定义应用程序中实现此功能?这就是我选择相机(虚拟设备)的方式:

let session = AVCaptureDevice.DiscoverySession(deviceTypes: [ .builtInTripleCamera ], mediaType: AVMediaType.video, position: .unspecified)
let cameras = (session.devices.compactMap { $0 })
for camera in cameras {
  if camera.position == .back {
    self.rearCamera = camera
    try camera.lockForConfiguration()
    camera.exposureMode = .continuousAutoExposure
    camera.focusMode = .continuousAutoFocus
    camera.unlockForConfiguration()
  }
}
Run Code Online (Sandbox Code Playgroud)

我缺少什么配置吗?

camera avfoundation ios avcapturedevice swift

5
推荐指数
1
解决办法
2375
查看次数

标签 统计

avcapturedevice ×1

avfoundation ×1

camera ×1

ios ×1

swift ×1