现在的位置: 首页 > 综合 > 正文

android中使用MediaRecorder进行视频录制笔记

2013年12月08日 ⁄ 综合 ⁄ 共 1794字 ⁄ 字号 评论关闭

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;

嘿嘿就这样两步,自己还可以添加一些小功能哈。上传到服务器上面的。

抱歉!评论已关闭.