Android Camera 视频循环录制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Mr_ZJC/article/details/46379495

   实现视频的循环录制,主要讲用到的接口,和实现的思路

==========================================================

1、视频的录制需要用到MediaRecorder类,对新new的MediaRecorder类的对象mMediaRecorder设置    setOnInfoListener监听,但自定义的录制段长达到是,会调用该接口,录制段长返回的是  MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED        ;

2、自定义每段录制的段长   mMediaRecorder.setMaxDuration(time); 参数time自己定义,单位为ms,比如需要设置为2mins,time 就是 2*1000*60 ;

-----------------------------------------------------------------  

              mMediaRecorder = new MediaRecorder();


mMediaRecorder.setOnInfoListener(new MediaRecorder.OnInfoListener() {

@Override
        public void onInfo(MediaRecorder mr,int arg1, int extra) {
// TODO Auto-generated method
// stub
      switch (arg1) {

case MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED: {
                                                     /* 这里的逻辑需要自己添加,达到录制的段长后,循环录制的话,需要释放当前的Camera等资源,再次初始化,开启新一段的录制

                                                          所以最好是将录制的相关方法 进行封装,重复调用

                                                    */
                                                           ....
}
 break;
     default:
 break;
}
                                 }
});


         mMediaRecorder.setMaxDuration((recordTime) * 1000 * 60);


----------------------------------------------------------------------------------------------------------

缺点:使用这种方式会存在录制漏秒,毕竟Camera的打开的释放都需要时间。

猜你喜欢

转载自blog.csdn.net/Mr_ZJC/article/details/46379495
今日推荐