前言
在前几篇博客中我分别介绍了一下SurfaceView以及Camera的水印预览和拍照,专题地址请看:传送门,下面我就来介绍下如何使用Camera进行录像功能。
流程
1、首先初始化一个Camera并且开启预览,方法可以查看前几篇博客。
2、使用Camera的unlock()方法解锁Camera,因为系统在同一时刻只允许一个进程访问摄像头,所以需要调用这个方法让其"解锁"。
3、通过MediaRecorder的 setCamera(Camera)将Camera数据设置给MediaRecorder,然后给MediaRecorder设置好属性即可开始录制。
4、当完成录制以后需要通过Camera的reconnect()方法去重新"锁住"相机。
5、如果不需要使用像极了,那么回收相机资源
实现
视频录像主要使用的是MediaRecorder。根据官方文档,基本用法为如下:
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(PATH_NAME);
recorder.prepare();
recorder.start(); // Recording is now started
...
reco