一、 问题描述

如下所示,调用recorder.stop()时抛出异常:

Caused by: java.lang.RuntimeException: stop failed.        at android.media.MediaRecorder.stop(Native Method)

二、 分析原因

start和stop间隔时间太短:


三、 解决方案

调用stop()之前将OnErrorListener、OnInfoListener和PreviewDisplay置空:

recorder.setOnErrorListener(null);recorder.setOnInfoListener(null);recorder.setPreviewDisplay(null);try {    recorder.stop();} catch (IllegalStateException e) {    e.printStackTrace();} catch (RuntimeException e) {    e.printStackTrace();} catch (Exception e) {    e.printStackTrace();}

四、 参考文献

  • 解决Android MediaRecorder录制视频过短问题
  • 我的Android进阶之旅------>Android中MediaRecorder.stop()报错 java.lang.RuntimeException: stop failed.【转】

更多相关文章

  1. 高级Redis应用进阶课 一站式Redis解决方案
  2. Android读取本地json文件的方法(解决显示乱码问题)
  3. Android实现从activity中停止Service的方法
  4. 【Android】小白进阶之回调监听机制listener
  5. Android进阶之路 - 软键盘顶起解决方案
  6. Android改变ExpandableListView的indicator图标实现方法
  7. android生态之应用篇
  8. Android(安卓)高级UI 目录
  9. 【Android】小白进阶之接口和抽象类的使用

随机推荐

  1. 【Android】App界面与顶部状态栏重叠遮盖
  2. Android最好看的圆形进度条ProgressBar
  3. Android(安卓)Bundle类
  4. ADT Bundle最后一次更新的版本下载地址
  5. Andriod开发之浏览器开发(WebView)
  6. 屏幕方向android:screenOrientation
  7. selector
  8. android 刚进入activity 时关闭输入法
  9. android使用SharedPreferences存储和读取
  10. Android(安卓)Http请求