我有使用 AVFoundation 实现的自定义相机的缩放功能(1 倍以上)。在 iPhone X 机型之前这一切都很好。但我希望 iPhone 11 和 iPhone 11 Pro 设备具有 0.5 倍变焦。
我编写的代码无法将其设置为 0.5 倍缩放。我已经尝试了所有可能的组合[.builtInTripleCamera, .builtInDualWideCamera, .builtInUltraWideCamera]。具有设备类型的捕获设备.builtinUltraWideCamera未给出 0.5 minAvailableVideoZoomFactor。
在 iPhone 11 上进行测试时,我还[.builtInDualCamera, .builtInTelephotoCamera, .builtInWideAngleCamera, .builtInTrueDepthCamera]从deviceTypes.
感谢任何解决此问题的帮助。下面是适用于 1 倍变焦以上的代码。
/// Called from -handlePinchGesture
private func zoom(_ scale: CGFloat) {
let captureDevice = cameraDevice(.back)
do {
try captureDevice?.lockForConfiguration()
var minZoomFactor: CGFloat = captureDevice?.minAvailableVideoZoomFactor ?? 1.0
let maxZoomFactor: CGFloat = captureDevice?.maxAvailableVideoZoomFactor ?? 1.0
if #available(iOS 13.0, *) {
if …Run Code Online (Sandbox Code Playgroud) 我正在使用 WebRTC 进行视频通话。我使用 RTCMTLVideoView 在应用程序中呈现遥控器的视频。除iPhone 11系列设备外,其他设备均运行良好。
#if arch(arm64) // Using metal (arm64 only)
remoteRenderer = RTCMTLVideoView(frame: showInView.bounds)
#endif
Run Code Online (Sandbox Code Playgroud)
我正在 iPhone 11 Pro 13.3.1、iPhone XS 13.2.3 和 iPhone 6 12.3 中检查该问题。但只有 iPhone 11 遇到这个问题。对于这个远程视频渲染问题我们有什么解决方案吗?