出现这个问题的原因
很简单,慢速视频
通过
[[PHImageManager defaultManager] requestAVAssetForVideo:phasset options:optionForCache resultHandler:^(AVAsset * avasset, AVAudioMix * audioMix, NSDictionary * info) {
获取的视频类型,有些是直接视频(avasset),有些是视频(带配置信息)(avcomposition)
为什么会出现这个问题
苹果为了更快的处理慢镜头视频(编辑模式),并非每次修改视频都重新写入,有时只是更改它的配置,avcomposition就是干这个的,里面包含了若干avasset对象,若干音轨,以及时间轴的概念。
直接从avcomposition获取avasset
这样做是不可取的,因为即便获取到avaset也不是你预览时看到的样子
如何得到这种视频的avasset
使用avmutablecomposition,把这个avcomposition当作一个avsset放进去,并生成一个新视频,那么这个新视频就是你需要的avaset