首页 > 移动平台 > 详细

android录制视频流程

时间:2014-02-27 19:13:44      阅读:471      评论:0      收藏:0      [点我收藏+]

        Android录制视频的流程,前面初始化和拍照流程一样,参考拍照流程中的First,Second;

Third: 初始化MediaRecorder

         MediaRecorder = new MediaRecorder();

         //Step1: Unlock and set camera to MediaRecorder

         //mCamera.unLock();

         //mMediaRecorder.setCamera(mCamera);

         以上可用于设置前后摄像头

         //Step 2: Set sources

         mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);

         mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

         //Step3 : Set a CamcorderProfile

         mMediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_LOW));

         //Step4: Set output file

         mMediaRecorder.setOutputFile(filePath);

         //Step5: Set the preview output.

         mMediaRecorder.setPreviewDisplay(mHolder.getSurface());

         此时如果surface创建成功,就可以:

         mMediaRecorder.prepare();

         mMediaRecorder.start();

在录制中途失败或者结束的时候需要释放MediaRecorder,并且释放摄像头:

         mMediaRecorder.stop();

         mMediaRecorder.reset();

         mMediaRecorder.release();

         mMediaRecorder = null;

 

在上述的Step3中,如果需要设置不同分辨率参数进行拍照,就需要做改动,Step3中应改成如下:

         mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

         mMediaRecorder.setVideoSize(width,height);

         //mMediaRecorder.setVideoFrameRate(3);

         mMediaRecorder.setVideoEncorder(MediaRecorder.VideoEncorder.H264);

         mMediaRecorder.setAudioEncorder(MediaRecorder.AudioEncorder.AMR_NB);

 

早在在录制视频的过程中,如果设置的是不支持的分辨率或者Surface未创建成功,将会产生start failed异常,即在调用mMediaRecorder.start()时。

          

 

    

            

android录制视频流程,布布扣,bubuko.com

android录制视频流程

原文:http://spi08breaker.blog.51cto.com/2902977/1363748

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!