1.场景描述
录像是相机应用的最重要功能之一,录像是循环帧的捕获。本文通过CameraKit自定义相机并通过avrecorder进行录像。
2.效果图

3.自定义相机录像流程图

4.方案描述
4.1 整体描述:
总体可分为:
- 相机输入。
- 同时输出预览流+录像流。
- 通过cameraInputt,获取相机采集数据,创建相机输入。
- 创建previewOutput,获取预览输出流,通过xcomponent的surfaceid连接,送显xcomponent。
- 通过AVrecorder的surfaceid创建录像输出流VideoOutput输出到文件中。
4.2步骤一:通过CameraManager获取相机管理对象
创建CameraManager对象:
通过getSupportedCameras 获取相机列表:
通过getSupportedSceneModes获取支持的模式类型
4.3 步骤二:通过 cameraManager.createCameraInput获取相机输入
创建相机输入:
4.4 步骤三:通过cameraManager.createPreviewOutput获取预览输出流
4.5 步骤四:获取录像输出流
4.5.1 步骤一:创建avRcorder的surface
4.5.2 步骤二: 配置AVRecorderProfile信息
4.5.3 步骤三:创建视频录制的参数
注:预览流与录像输出流的分辨率的宽(videoFrameWidth)高(videoFrameHeight)比要保持一致。
4.5.4 步骤四:创建avrecorder和录像输出流videoOutput
4.6 步骤五:会话配置
4.7 步骤六:开始、停止录像
4.8 步骤七:释放资源