汇总Android视频录制中常见问题

2019-12-10 19:34:20王冬梅
这篇文章主要汇总了Android视频录制中常见问题,帮助大家更好地解决Android视频录制中常见的问题,需要的朋友可以参考下  

本文分享自己在视频录制播放过程中遇到的一些问题,主要包括:

  • 视频录制流程
  • 视频预览及SurfaceHolder
  • 视频清晰度及文件大小
  • 视频文件旋转

    一、视频录制流程
        以微信为例,其录制触发为按下(住)录制按钮,结束录制的触发条件为松开录制按钮或录制时间结束,其流程大概可以用下图来描述。

    汇总Android视频录制中常见问题

    1.1、开始录制
       根据上述流程及项目的编程惯例,可在onCreate()定义如下函数来完成功能:

    汇总Android视频录制中常见问题    

    初始化过程主要包括View,Data以及Listener三部分。在初始化View时,添加摄像头预览,添加倒计时文本组件,设置初始状态UI组件的可见;初始化Data时,从Intent中获取初始数据;初始化Listener时,分别对录制触发按钮,保存/取消视频录制按钮以及视频预览界面添加监听。
        当系统初始化成功后,等待用户按下录制按钮,因此在录制按钮的监听中,需要完成以下功能:录制,计时,更新界面组件。

    if(isRecording) {
      mMediaRecorder.stop();
      releaseMediaRecorder();
      mCamera.lock();
      isRecording = false;
    }
    if(startRecordVideo()) {
      startTimeVideoRecord();
      isRecording = true;
    }
    

        首先判断当前录制状态,如果正在录制,则先停止录制,释放MediaRecorder资源,锁定摄像头,置位录制状态;然后开始视频录制startRecordVideo,其boolean型返回值表征是否启动成功,启动成功后,开始视频录制计时,并且置位录制状态。startRecordVideo涉及MediaRecorder的配置,准备以及启动。