本文转载自:http://blog.csdn.net/netwalk/article/details/17686993

Error处理: android.media.MediaRecorder.start(Native Method) 报错:start failed: -19

spydroid-android测试在android4.0系统上报错

  1. start failed: -19

而且也发现,在使用MediaRecorder进行视频录制,调用start()方法时报错,发生spydroid-android测试在android4.0系统上同样的错误,具体错误如下:

  1. 01-06 14:04:07.790: V/MediaRecorder(13280): prepare
  2. 01-06 14:04:07.790: V/IMediaRecorder(13280): prepare
  3. 01-06 14:04:07.800: V/MediaRecorder(13280): start
  4. 01-06 14:04:07.800: V/IMediaRecorder(13280): start
  5. 01-06 14:04:08.190: E/MediaRecorder(13280): start failed: -19
  6. 01-06 14:04:08.190: W/System.err(13280): java.lang.RuntimeException: start failed.
  7. 01-06 14:04:08.200: W/System.err(13280):    at android.media.MediaRecorder.start(Native Method)
  8. 01-06 14:04:08.200: W/System.err(13280):    at com.yousee.videocapturedemo.VideoCapturePlus$2.onClick(VideoCapturePlus.java:145)
  9. 01-06 14:04:08.200: W/System.err(13280):    at android.view.View.performClick(View.java:3515)
  10. 01-06 14:04:08.200: W/System.err(13280):    at android.view.View$PerformClick.run(View.java:14144)
  11. 01-06 14:04:08.200: W/System.err(13280):    at android.os.Handler.handleCallback(Handler.java:605)
  12. 01-06 14:04:08.200: W/System.err(13280):    at android.os.Handler.dispatchMessage(Handler.java:92)
  13. 01-06 14:04:08.200: W/System.err(13280):    at android.os.Looper.loop(Looper.java:148)
  14. 01-06 14:04:08.200: W/System.err(13280):    at android.app.ActivityThread.main(ActivityThread.java:4503)
  15. 01-06 14:04:08.200: W/System.err(13280):    at java.lang.reflect.Method.invokeNative(Native Method)
  16. 01-06 14:04:08.200: W/System.err(13280):    at java.lang.reflect.Method.invoke(Method.java:511)
  17. 01-06 14:04:08.200: W/System.err(13280):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:830)
  18. 01-06 14:04:08.200: W/System.err(13280):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
  19. 01-06 14:04:08.200: W/System.err(13280):    at dalvik.system.NativeStart.main(Native Method)

 

MediaRecorder 初始化和设置代码如下:

 

  1. .....
  2. mMediaRecorder=new MediaRecorder();
  3. //设置视频源
  4. mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
  5. //设置音频源
  6. mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
  7. //设置文件输出格式
  8. mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
  9. //设置视频编码方式
  10. mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
  11. //设置音频编码方式
  12. mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
  13. //设置视频高和宽,注意文档的说明:
  14. //Must be called after setVideoSource().
  15. //Call this after setOutFormat() but before prepare().
  16. //设置录制的视频帧率,注意文档的说明:
  17. //Must be called after setVideoSource().
  18. //Call this after setOutFormat() but before prepare().
  19. mMediaRecorder.setVideoFrameRate(20);
  20. //设置预览画面
  21. mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
  22. //设置输出路径
  23. mMediaRecorder.setOutputFile
  24. (Environment.getExternalStorageDirectory()+File.separator+System.currentTimeMillis()+".mp4");
  25. .....
  26. mediaRecorder.prepare();
  27. mediaRecorder.start();
  28. .....

相同的程序在Android2.3平台上正常运行,在Android4.0上报错。

解决方法:

注释掉设置视频帧率的语句。//mMediaRecorder.setVideoFrameRate(mQuality.framerate);

setVideoFrameRate去掉之后,如果还出现该错误,可将

mMediaRecorder.setVideoSize(videoWidth, videoHeight);也注释掉

原因:

视频的帧率和视频大小是需要硬件支持的,如果设置的帧率和视频大小,如果硬件不支持就会出现错误。

参考:

http://stackoverflow.com/questions/11249642/mediarecorder-start-failed-19

Error处理: android.media.MediaRecorder.start(Native Method) 报错:start failed: -19【转】的更多相关文章

  1. 错误:Camera录制视频(6.0错误),5.1正常,7.1正常 (java.lang.RuntimeException: start failed.at android.media.MediaRecorder.native_start(Native Method))

    Process: com.example.mycamera2, PID: 24086 java.lang.RuntimeException: start failed. at android.medi ...

  2. Caused by:java.lang.IllegalStateException at android.media.MediaPlayer._setDataSource(Native Method)

    使用Mediaplayer播放本地音频,在第二次调用mediaplayer.setDataSource()时报错如下: Caused by: java.lang.IllegalStateExcepti ...

  3. appium在android 7.0真机上运行报错command failed shell:............ps:'uiautomator"的解决方式

    appium版本:1_4_16 在CSDN中找到相关解决的方案,根据此解决方案顺利的解决了让人惆怅的问题,再次记录. 1.找到appium安装目录下的adb.js文件,目录为:Appium\node_ ...

  4. at android.view.Surface.unlockCanvasAndPost(Native Method)

    at android.view.Surface.unlockCanvasAndPost(Native Method) 在绘制动画特效的时候点击back键会报以上异常. 主要原因:当点击back按钮时A ...

  5. ionic 打包 报错Execution failed for task ':processDebugResources'. > com.android.ide.common.process.ProcessException: Failed to execute aapt

    在platform --> android目录下找到build.gradle文件,打开并在def promptForReleaseKeyPassword() {...}函数前加入以下内容: 完整 ...

  6. Android Studio使用org.apache.http报错

    Android Studio使用org.apache.http报错需要加上这句话:useLibrary 'org.apache.http.legacy'

  7. Android 6.0以后的版本报错:open failed: EACCES (Permission denied)

    Android 6.0以后的版本报错:open failed: EACCES (Permission denied) 在开发项目中,遇见要进行文件操作,遇见Caused by: android.sys ...

  8. Android版本28使用http请求报错not permitted by network security policy

    Android版本28使用http请求报错not permitted by network security policy android模拟器调试登录的时候报错 CLEARTEXT communic ...

  9. 安卓工作室 android studio 汉化后,报错。 设置界面打不开。Can't find resource for bundle java.util.PropertyResourceBundle, key emmet.bem.class.name.element.separator.label

    安卓工作室 android studio 汉化后,报错. 设置界面打不开. Android studio has been sinified and reported wrong.The setup ...

随机推荐

  1. HDU4415 Assassin’s Creed

    题目大意:有n个人,每个人有x,y两个值.x代表干掉他得到的分数,分数和不超过m;y代表干掉他后你能额外干掉多少个,且不计入总分. 求干掉人数最多为多少,以及最小的分. ~~~~~~~~~~~~~~~ ...

  2. jenkins构建项目记录2(tag)

    与jenkins构建项目记录1不同的是通过tag拉去对应版本代码 1.先安装创建(git parameter) 2.general设置 name可任意命名,下面源码管理设置时变量会引用到. 3.源码管 ...

  3. 零基础入门学习Python(22)--函数:递归是神马

    知识点 递归是神马? 递归是属于算法的范畴. 递归就是函数调用自身的一种行为. >>> def g(): return g() >>> g() Traceback ...

  4. 在git提交时忽略已提交过或从线上拉取下来但本地已修改的文件

    一.忽略: git update-index --assume-unchanged [file-path] 命令中的file-path 就是需要忽略提价的文件的路径 例子: git update-in ...

  5. Python数据结构--链表

    class Node(): def __init__(self, dataval=None): self.dataval = dataval self.nextval = None class SLi ...

  6. 【03】《论道html5》(全)

    [03]   <论道html5>   共320页. 魔芋:已看完.   读后感:html5各个新特性的介绍.介绍了canvas,web socket,audio,video,web wor ...

  7. .DS_Store的说明

    今天清理电脑时,突然发现好像有文件的地方都会出现一个.DS_Store文件,今天有时间,索性就查了一下,并做总结发表一篇吧,怕有什么影响,并未真正实施,仅仅供自己收藏,仅供大家参考.      DS_ ...

  8. 经典算法入门 列表C/C++

    排序:插入排序.选择排序.冒泡排序.归并排序.快速排序.基数排序.计数排序.桶排序 查找:二分查找 树:先根.中根.后跟遍历 图:深度优先.广度优先.最小生成树.单元最短路径.全成对最短路径 动态规划 ...

  9. POJ 2096 找bug 期望dp

    题目大意: 一个人受雇于某公司要找出某个软件的bugs和subcomponents,这个软件一共有n个bugs和s个subcomponents,每次他都能同时随机发现1个bug和1个subcompon ...

  10. onos控制器通过REST API下发流表

    onos控制器REST API地址:http://192.168.43.14:8181/onos/v1/docs/ stream书写格式: { "id": "675540 ...