1、录制前的预览
一般而言,我们在录制之前,都需要预览。
我们来回归下利用Camera2进行预览的步骤:
- 通过CameraManager获取可用的相机设备列表。
- 通过CameraManager拿到对应相机的参数
- 调用openCamera打开相机。
- 在回调中创建CaptureRequestBuilder与CameraCaptureSession。其中,要将我们的Surface添加到CaptureRequestBuilder中,这里我们还是使用TextureView,通过其SurfaceTexture来创建Surface。
- 调用CameraCaptureSession的setRepeatingRequest来开启预览。
总得来说,预览是比较简单的,拍照与录制时的预览没区别
而安卓上录制有2种方式:
- 利用系统api MediaRecorder ;
- 使用MediaCodeC 自定义录制;
第一种方式比第二种简单很多,下面先来学习第一种方式。
2、利用MediaRecorder 进行录制
MediaRecorder是Android Frameworl提供给开发者的一套用于音频或视频录制的API。我们可以通过它来录制音频或者视频。当然录制视频的时候就需要Camera来配合了,下面我们来看下怎么来配置一个可以录制视频的MediaRecorder。
音频与视频的来源
setAudioSource(int audio_source)
在MediaRecorder里面有一个内部类AudioSource,里面定义了一些静态常量来表示各个音频的来源,我们这里用AudioSource.MIC(麦克风)
setVideoSource(in