我和AVAssetExportSession一起工作。我不确定为什么结果没有显示视频,所以我想观察AVAssetExportSession的状态。这是我第一次做KVO。
它提到AVAssetExportSession.Status是可观察到的。我把它设为
guard let export = AVAssetExportSession(
asset: composition,
presetName: AVAssetExportPresetHighestQuality)
else {
print("Cannot create export session.")
fatalError()
}
export.observe(\AVAssetExportSession.status, options: .new) {
export, change in
print("export.status : \(export.status)")
}我执行了导出会话,当我检查异步块中的状态时,它显示为已完成。我希望看到状态从开始到完成的进度,所以我删除了这段代码以打印状态。
export.videoComposition = videoComposition
export.outputFileType = .mov
export.outputURL = exportURL
export.exportAsynchronously {
DispatchQueue.main.async {
}
}我在kvo块中设置了断点,但它似乎没有任何内容。
发布于 2021-03-26 23:41:09
你需要参考一下它。
var keyVO:NSKeyValueObservation!
func viewDidLoad() {
super.viewDidLoad()
keyVO = export.observe(\AVAssetExportSession.status, options: .new) { export, change in
print("export.status : \(export.status)")
}
}https://stackoverflow.com/questions/66819954
复制相似问题