[融云分析]基于AVFoundation框架开发小视频功能的方案分析
浏览:130 时间:2023-2-24

开发视频录制功能最简单的方法是使用系统打包的UIImagePickerController,但这种方法相对封闭,可定制的东西很少,因此有必要开发基于AVFoundation框架的视频录制功能。要基于AVFoundation框架开发,您需要手动设置设备的音频和视频输入输出。AVCaptureSession是AVFoundation的核心类,用于管理捕获对象AVCaptureInput的视频和音频输入,并协调捕获输出AVCaptureOutput。输出AVCaptureOutput有两种方式:一种是直接以movieFileUrl的方式输出;一种是以原始数据流的方式输出,其流程如下:详细说明了以下两种视频录制方案:(1)AVCaptureSession AVCaptureMovieFile Output 1。创建自动捕获会话注意:自动捕获会话的调用将阻塞线程,因此建议打开一个单独的子线程进行处理。2.设置音频和视频输入3。设置文件输出源4。添加视频预览层5。开始采集6号。开始录制当实际录制开始或停止时,系统将有一个代理回拨。当你开始录音的时候,你可能不会真的在这个时候写。当你真正开始写作时,你会给下面的代理人回电话,当你停止录音时也是如此。因此,如果需要操作录像的起点,建议通过系统的回叫代理:7。停止录制8。停止收集(2)AVCaptureSession avassetwister 1。创建AVCaptureSession2。设置音频和视频输入3。设置音频数据和视频数据输出4。添加视频预览层5。开始收集不同于