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

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

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() { @Overridepublic 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的打开和释放都需要时间。

 

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

   欢迎关注我的个人微信公众号,公众号会记录自己开发的点滴,还有日常的生活,希望和更多的小伙伴一起交流~~

更多相关文章

  1. Android(安卓)MediaRecorder录制视频提示start failed的解决办法
  2. android 广播的知识积累
  3. android studio 如何清理没有用到的资源文件
  4. Android(安卓)5.0以上加slidingmenu后页面不刷新解决方法
  5. Android开发中用到的命令—整理贴
  6. Android(安卓)开发技巧之Log写入文件
  7. Mac下完全卸载干净Android(安卓)Studio的方法
  8. Android(安卓)怎么获取手机端的ip地址
  9. Android与H5页面的互调

随机推荐

  1. android 沉浸式布局学习
  2. layout_gravity部局的一些问题
  3. Android连续点击两次Back键退出程序
  4. getSystemService
  5. Android: 渠道号获取
  6. Android刷新加载框架详解
  7. android模拟器使用sdcard
  8. Android(安卓)-- 程序启动画面 Splash
  9. @IntDef的使用(替代枚举)
  10. android activity与view的联系--window