【发布时间】:2019-08-21 04:02:28
【问题描述】:
我使用 CoreImage 将实时效果应用于使用 AVPlayer 播放的视频。问题是当播放器暂停时,如果您使用滑块调整过滤器参数,则不会应用过滤器。
let videoComposition = AVMutableVideoComposition(asset: asset, applyingCIFiltersWithHandler: {[weak self] request in
// Clamp to avoid blurring transparent pixels at the image edges
let source = request.sourceImage.clampedToExtent()
let output:CIImage
if let filteredOutput = self?.runFilters(source, filters: array)?.cropped(to: request.sourceImage.extent) {
output = filteredOutput
} else {
output = source
}
// Provide the filter output to the composition
request.finish(with: output, context: nil)
})
作为一种解决方法,我使用了在 iOS 12.4 之前有效的 this 答案,但在 iOS 13 beta 6 中不再有效。寻找适用于 iOS 13 的解决方案。
【问题讨论】:
-
你试过
player.seek(to: player.currentTime())吗? -
是的。也不行。
-
嗯,棘手...您是否尝试过取消设置并重新设置
playerItem?
标签: ios avfoundation avplayer core-image cifilter