Error处理: android.media.MediaRecorder.start(Native Method) 报错:start failed: -19【转】
本文转载自:http://blog.csdn.net/netwalk/article/details/17686993
Error处理: android.media.MediaRecorder.start(Native Method) 报错:start failed: -19
spydroid-android测试在android4.0系统上报错
- start failed: -19
而且也发现,在使用MediaRecorder进行视频录制,调用start()方法时报错,发生spydroid-android测试在android4.0系统上同样的错误,具体错误如下:
- 01-06 14:04:07.790: V/MediaRecorder(13280): prepare
- 01-06 14:04:07.790: V/IMediaRecorder(13280): prepare
- 01-06 14:04:07.800: V/MediaRecorder(13280): start
- 01-06 14:04:07.800: V/IMediaRecorder(13280): start
- 01-06 14:04:08.190: E/MediaRecorder(13280): start failed: -19
- 01-06 14:04:08.190: W/System.err(13280): java.lang.RuntimeException: start failed.
- 01-06 14:04:08.200: W/System.err(13280): at android.media.MediaRecorder.start(Native Method)
- 01-06 14:04:08.200: W/System.err(13280): at com.yousee.videocapturedemo.VideoCapturePlus$2.onClick(VideoCapturePlus.java:145)
- 01-06 14:04:08.200: W/System.err(13280): at android.view.View.performClick(View.java:3515)
- 01-06 14:04:08.200: W/System.err(13280): at android.view.View$PerformClick.run(View.java:14144)
- 01-06 14:04:08.200: W/System.err(13280): at android.os.Handler.handleCallback(Handler.java:605)
- 01-06 14:04:08.200: W/System.err(13280): at android.os.Handler.dispatchMessage(Handler.java:92)
- 01-06 14:04:08.200: W/System.err(13280): at android.os.Looper.loop(Looper.java:148)
- 01-06 14:04:08.200: W/System.err(13280): at android.app.ActivityThread.main(ActivityThread.java:4503)
- 01-06 14:04:08.200: W/System.err(13280): at java.lang.reflect.Method.invokeNative(Native Method)
- 01-06 14:04:08.200: W/System.err(13280): at java.lang.reflect.Method.invoke(Method.java:511)
- 01-06 14:04:08.200: W/System.err(13280): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:830)
- 01-06 14:04:08.200: W/System.err(13280): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
- 01-06 14:04:08.200: W/System.err(13280): at dalvik.system.NativeStart.main(Native Method)
MediaRecorder 初始化和设置代码如下:
- .....
- mMediaRecorder=new MediaRecorder();
- //设置视频源
- mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
- //设置音频源
- mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
- //设置文件输出格式
- mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
- //设置视频编码方式
- mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
- //设置音频编码方式
- mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
- //设置视频高和宽,注意文档的说明:
- //Must be called after setVideoSource().
- //Call this after setOutFormat() but before prepare().
- //设置录制的视频帧率,注意文档的说明:
- //Must be called after setVideoSource().
- //Call this after setOutFormat() but before prepare().
- mMediaRecorder.setVideoFrameRate(20);
- //设置预览画面
- mMediaRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
- //设置输出路径
- mMediaRecorder.setOutputFile
- (Environment.getExternalStorageDirectory()+File.separator+System.currentTimeMillis()+".mp4");
- .....
- mediaRecorder.prepare();
- mediaRecorder.start();
- .....
相同的程序在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【转】的更多相关文章
- 错误: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 ...
- Caused by:java.lang.IllegalStateException at android.media.MediaPlayer._setDataSource(Native Method)
使用Mediaplayer播放本地音频,在第二次调用mediaplayer.setDataSource()时报错如下: Caused by: java.lang.IllegalStateExcepti ...
- appium在android 7.0真机上运行报错command failed shell:............ps:'uiautomator"的解决方式
appium版本:1_4_16 在CSDN中找到相关解决的方案,根据此解决方案顺利的解决了让人惆怅的问题,再次记录. 1.找到appium安装目录下的adb.js文件,目录为:Appium\node_ ...
- at android.view.Surface.unlockCanvasAndPost(Native Method)
at android.view.Surface.unlockCanvasAndPost(Native Method) 在绘制动画特效的时候点击back键会报以上异常. 主要原因:当点击back按钮时A ...
- ionic 打包 报错Execution failed for task ':processDebugResources'. > com.android.ide.common.process.ProcessException: Failed to execute aapt
在platform --> android目录下找到build.gradle文件,打开并在def promptForReleaseKeyPassword() {...}函数前加入以下内容: 完整 ...
- Android Studio使用org.apache.http报错
Android Studio使用org.apache.http报错需要加上这句话:useLibrary 'org.apache.http.legacy'
- Android 6.0以后的版本报错:open failed: EACCES (Permission denied)
Android 6.0以后的版本报错:open failed: EACCES (Permission denied) 在开发项目中,遇见要进行文件操作,遇见Caused by: android.sys ...
- Android版本28使用http请求报错not permitted by network security policy
Android版本28使用http请求报错not permitted by network security policy android模拟器调试登录的时候报错 CLEARTEXT communic ...
- 安卓工作室 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 ...
随机推荐
- HDFS的Java API 对文件的操作
在本次操作中所用到的命令 1.首先启动HDFS $HADOOP_HOME/sbin/start-dfs.sh 2.关防火墙 切换到root用户,执行service iptables stop 3.拷贝 ...
- windows系统查看目录树
进入到需要查看的目录后,按住shift键,然后单击鼠标右键,选择“在此处打开命令窗口”,然后命令行窗口界面. 1.若是只查看该目录下有哪些目录,输入tree即可 2.若是显示该目录及其子目录下的所有目 ...
- 【转】WinAPI: CreateFontIndirect - 根据字体结构建立逻辑字体
//声明: CreateFontIndirect( const p1: TLogFont {字体结构} ): HFONT; {返回新字体指针} //TLogFont 是 tagLOGFONTA 结构的 ...
- c++基础_01字串
#include <iostream> using namespace std; int main(){ for(int a=0;a<=1;a++){ for(int b=0;b&l ...
- mybatis返回map类型数据空值字段不显示(三种解决方法)
转http://blog.csdn.net/lulidaitian/article/details/70941769 一.查询sql添加每个字段的判断空 IFNULL(rate,'') as rate ...
- Lucene实现全文检索的流程
[索引和搜索流程图] 对要索引的原始内容进行索引构建一个索引库,索引过程包括:确定原始内容即要搜索的内容->采集文档->创建文档->分析文档->索引文档. 从索引库中搜索内容, ...
- 【01】emmet系列之基础介绍
[01]emmet系列之基础介绍 [02]emmet系列之HTML语法 [03]emmet系列之CSS语法 [04]emmet系列之编辑器 [05]emmet系列之各种缩写 相关网址 官网:http: ...
- Linux学习笔记02
1.文件处理命令:touch touch [文件目录][文件名] 如:touch /tmp/jiejie/jiejie.conf2.文件处理命令:cat cat 参数[文件目录][文件名]//显示文件 ...
- MYSQL Sorting result 把队列堆满了,该怎么办?
show processlist;发现有200多个队列,select cardnum from table where xxxid = 31 order by abc_time desc 这样的一个排 ...
- 【bzoj2527】[Poi2011]Meteors(树状数组(单点查询,区间修改)+整体二分)
[bzoj2527][Poi2011]Meteors Description Byteotian Interstellar Union (BIU) has recently discovered a ...