【发布时间】:2017-10-15 15:36:59
【问题描述】:
我想知道如何从视频流中获取UIImage?
我做了什么:
首先我运行流:
let player = AVPlayer(url: sourceURL)
player.play()
然后我检查AVPlayer中的asset是否不为空。
if let asset = player.currentItem?.asset {
let imageGenerator = AVAssetImageGenerator(asset: asset)
imageGenerator.requestedTimeToleranceBefore = CMTimeMake(1, 15)
imageGenerator.requestedTimeToleranceAfter = CMTimeMake(1, 15)
let time = CMTimeMake(1, 1)
let imageRef = try! imageGenerator.copyCGImage(at: time, actualTime: nil)
return UIImage(cgImage:imageRef)
}
我使用try! 进行测试,我知道我没有处理异常。
但我收到错误:
Error Domain=AVFoundationErrorDomain Code=-11800 "该操作可能 未完成” UserInfo={NSUnderlyingError=0x170654250 {错误 域=NSOSStatusErrorDomain 代码=-12782 "(null)"}, NSLocalizedFailureReason=发生未知错误(-12782), NSLocalizedDescription=操作无法完成}
我也试试这个answers。
【问题讨论】:
-
@AhmadF 问题是视频是流 url。