AVVideoCompressionPropertiesKey崩溃

问题描述 投票:1回答:1

我正在使用AVAssetWriter和AVCaptureVideoDataOutput进行实时视频录制。我在用户设备上看到许多崩溃报告,但是无法在我的任何设备上重现它。我需要以下代码中可能出错的信息。发生这种情况的原因可能是NSDictionary对[String:AnyObject]的类型转换失败。

在课堂上,我有:

private var videoOut: AVCaptureVideoDataOutput?

然后在函数中,我这样做:

  var recommendedSettings:[String:AnyObject]?

  recommendedSettings = videoOut.recommendedVideoSettings(forVideoCodecType: AVVideoCodecType.hevc, assetWriterOutputFileType: AVFileType.mov) as? [String : AnyObject]

  if let recommendedSettings = recommendedSettings {

  /* crashes here */
  var compressionSettings = recommendedSettings[AVVideoCompressionPropertiesKey] as! [String:AnyObject]


  }

[在Swift中,AVVideoCompressionPropertiesKey返回的字典的假定返回类型是什么?

ios swift avfoundation avassetwriter
1个回答
0
投票

返回的类型是字典,即

let videoCompressionProps: Dictionary<String, Any> = [
    AVVideoAverageBitRateKey : videoBitrate,
    AVVideoMaxKeyFrameIntervalKey : videomaxKeyFrameInterval,
    AVVideoProfileLevelKey : avVideoProfileLevel
]
© www.soinside.com 2019 - 2024. All rights reserved.