使用 Avplayer ios 10* 的屏幕截图图像是黑色图像
Posted
技术标签:
【中文标题】使用 Avplayer ios 10* 的屏幕截图图像是黑色图像【英文标题】:screenShot image with Avplayer ios 10* is Black image 【发布时间】:2019-05-21 09:54:23 【问题描述】:extension UIView
func capture() -> UIImage?
var image: UIImage?
if #available(ios 10.0, *)
let format = UIGraphicsImageRendererFormat()
format.opaque = isOpaque
let renderer = UIGraphicsImageRenderer(size: frame.size, format: format)
image = renderer.image context in
drawHierarchy(in: frame, afterScreenUpdates: true)
else
UIGraphicsBeginImageContextWithOptions(frame.size, isOpaque, UIScreen.main.scale)
drawHierarchy(in: frame, afterScreenUpdates: true)
image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
【问题讨论】:
您想用播放器从 avplayer 或全屏屏幕截图中捕获图像? 我想从视图层 avplayer 捕获图像 这对我有用,参考...github.com/acotilla91/ACThumbnailGenerator-Swift 哇,太棒了!!... 谢谢支持 【参考方案1】:public extension AVAsset
func takeScreenshot(at: Double,completion: @escaping (UIImage?) -> Void)
DispatchQueue.global().async
let imageGenerator = AVAssetImageGenerator(asset: self)
let time = CMTime(seconds: at, preferredTimescale: 600)
let times = [NSValue(time: time)]
imageGenerator.generateCGImagesAsynchronously(forTimes: times, completionHandler: _, image, _, _, _ in
if let image = image
completion(UIImage(cgImage: image))
else
completion(nil)
)
【讨论】:
以上是关于使用 Avplayer ios 10* 的屏幕截图图像是黑色图像的主要内容,如果未能解决你的问题,请参考以下文章
iOS 7 上的 MPNowPlayingInfoCenter AVPlayer