http://geek.gfan.com/android%E7%9A%84mediarecorder%E6%9E%B6%E6%9E%84%E4%BB%8B%E7%BB%8D%EF%BC%88%E4%B8%80%EF%BC%89/
今天写了一个比较简单的android视频录制的DEMO,使用的是MediaRecorder 以及使用SurfaceView进行录制的。视频录制的部分也比较简单,直接看API的图就可以很清楚的知道步骤了,上图先
官方的api还真是不错,看的非常的清晰。
A common case of using MediaRecorder to record audio works as follows:
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 ... recorder.stop(); recorder.reset(); // You can reuse the object by going back to setAudioSource() step recorder.release(); // Now the object cannot be reused
1、创建MediaRecorder 实例,并对各个参数进行设置.主要代码如下:
//创建媒体录制
MediaRecorder mediaRecorder=new MediaRecorder();
mediaRecorder.reset();//重置
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);//从照相机采集视频
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//从麦克风获取音频
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//设置输出格式
mediaRecorder.setVideoSize(320, 480);//设置视频大小
mediaRecorder.setVideoFrameRate(5);//每秒5帧
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);//设置视频编码格式,H263为通过格式
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//设置音频编码格式
File videoFile =new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis()+".3gp");
mediaRecorder.setOutputFile(videoFile.getAbsolutePath());
//设置预览画面,这里是使用SurfaceView
mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());
mediaRecorder.prepare();//缓冲
mediaRecorder.start();//开始录制
isRecord = true;//正在录制设为true
2、停止录制
判断isRecord 是否为true,为true则直接调用mediaRecorder.stop();方法进行停止,并设置isRecord =false;
嘿嘿就这样两步,自己还可以添加一些小功能哈。上传到服务器上面的。