在iOS 10发布之前,我使用以下代码来获取视频和音频捕获以用于我的视频录制器:
“’devices ()’在iOS 10.0中已被弃用:请使用AVCaptureDeviceDiscoverySession。”
今天早上我运行代码时,我的视频录制器停止工作了。xCode8没有给我任何错误,但相机捕获的previewLayer完全是白色的。当我开始录制时,我收到以下错误:
“错误域= AVFoundationErrorDomain Code=-11800“操作无法完成”UserInfo={NSLocalizedDescription=操作无法完成,NSUnderlyingError=0x17554440 {错误域= NSOSStatusErrorDomain Code=-12780“(null)”},NSLocalizedFailureReason=发生未知错误(-12780)}”
我认为这与我使用已弃用的方法
提前感谢您的帮助!
for device in AVCaptureDevice.devices()
{
if (device as AnyObject).hasMediaType( AVMediaTypeAudio )
{
self.audioCapture = device as? AVCaptureDevice
}
else if (device as AnyObject).hasMediaType( AVMediaTypeVideo )
{
if (device as AnyObject).position == AVCaptureDevicePosition.back
{
self.backCameraVideoCapture = device as? AVCaptureDevice
}
else
{
self.frontCameraVideoCapture = device as? AVCaptureDevice
}
}
}
当iOS 10终于推出时,我在运行代码时收到了以下警告。请注意,我的视频录制器仍顺畅地工作了约2周。“’devices ()’在iOS 10.0中已被弃用:请使用AVCaptureDeviceDiscoverySession。”
今天早上我运行代码时,我的视频录制器停止工作了。xCode8没有给我任何错误,但相机捕获的previewLayer完全是白色的。当我开始录制时,我收到以下错误:
“错误域= AVFoundationErrorDomain Code=-11800“操作无法完成”UserInfo={NSLocalizedDescription=操作无法完成,NSUnderlyingError=0x17554440 {错误域= NSOSStatusErrorDomain Code=-12780“(null)”},NSLocalizedFailureReason=发生未知错误(-12780)}”
我认为这与我使用已弃用的方法
AVCaptureDevice.devices()
有关。因此,我想知道如何改用AVCaptureDeviceDiscoverySession
?提前感谢您的帮助!
.builtInWideAngleCamera
作为设备类型。你能解释一下为什么要使用这种类型而不是其他许多类型吗?例如,还有.builtInDualWideCamera
。使用你的代码是否仍会返回双广角相机? - ndreisg