1、我们酋篚靶高需要使用UIImagePickerController来弹出视频的录制界面,首先需要申请用户授权录制视频的权限,然后判断设备是炯善挠勿否支持。我们可以设置录制时长videoMaximumDuration,也可设置视频的分辨率videoQuality。
2、从相册选择视频,需要申请用户授黑具跑秀权。要将视频保存到相册,可指定类型为UIImagePickerControllerSourceTypeSavedPhotosAlbum,将搛荚悚睢媒体类型指定为kUTTypeMovie
3、iOS写入相册操作,可通过ALAssetsLibrary类来实现,它提供了写入相册的API,可异步写入,在完成写入后再回到主线程更新UI:
4、同步获取中间帧,需要指定时间节点,也就是取哪个时间点的图片:
5、对于异步取帧图,可传多个时间节点参数,计算出实际的取帧时间并返回对应的图片。是否取到图片,通过判断AVAssetImageGeneratorSucceeded是否成功:
6、之所以需要压缩视频,是因为移动设备的内存有限,而通常一个视频比较大,占用的内存比较多,导致app闪退。因此,我们需要对所录制的视频进行压缩,使它占用较小的内存。
7、在iOS8上出现在录制视频页面再回到原来的界面,原来的界面整个视图都会向下移动,下面是其中的一种解决方案: