大佬教程收集整理的这篇文章主要介绍了android – MediaRecorder“开始失败-12”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
每当我使用MediaRecorder开始录制时,LogCat都会慷慨地告诉我MediaRecorder无法启动,导致错误代码-12.
我一整天都在搜索互联网,寻找这些错误代码的解释.到目前为止,我一直不走运.因此,我转向开发者社区的其他人.
@H_759_11@mediaRecorder start Failed -12
关于这些错误代码已经提出了不止一个问题,更具体地说是16,19,22和一个可笑的大数字2147483648,但是这个信息在我的案例中证明是无用的.
有谁知道我在哪里可以找到可靠的MediaRecorder错误代码列表,包括这些错误代码的含义?或者甚至更好,向我解释一下全能的Android Oracle试图向我发出信号?
提前致谢
运行API 10的HTC ChaCha不使用H264编码器进行记录.我使用MP4和/或H263工作,但视频仍然完全失真.解决方法是将相机预览大小设置为640 * 480,而不是使用谷歌自己的“最佳预览”方法,该方法返回576 * 432.通过为此模型设置例外,我能够完美地记录它.
运行API 10的Galaxy Y在尝试使用H264进行录制时崩溃.这个使用MP4编码器是个例外.固定它.
运行API 10的Galaxy Ace在尝试使用MP4返回错误代码-12进行记录时崩溃.使用H264编码器为此设备模型添加例外可解决此问题.
运行API 10的Desire Z在尝试使用MP4编码器进行录制时崩溃.给我一个错误-100(媒体服务器死了).使用H264修复了这个问题.
if(API >=11){ if(CamcorderProfile.hasProfile(mCamId,CamcorderProfile.QUALITY_480p)) { Log.d(tag,"API 11+ 480P"); mMediaRecorder.setProfile(CamcorderProfile.get(mCamId,CamcorderProfile.QUALITY_480p)); mMediaRecorder.setVideoSize(640,480); mMediaRecorder.setVideoEncodingBitRate(2000000); } else { Log.d(tag,"API 11+ LOW"); mMediaRecorder.setProfile(CamcorderProfile.get(mCamId,CamcorderProfile.QUALITY_LOW)); } } else if (API < 11 && !MODEl.equals("GT-S5830") && !MODEl.equals("vision")){ mMediaRecorder.setOutputFormat(MediaRecorder.outputFormat.MPEG_4); Log.d(tag,"API 9 device,defaulTing"); mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_Sp); mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); mMediaRecorder.setVideoSize(640,480); mMediaRecorder.setVideoEncodingBitRate(2000000); } else if ((API < 11) && MODEl.equals("GT-S5830") || MODEl.equals("vision")) { //Galaxy Ace and Desire Z mMediaRecorder.setOutputFormat(MediaRecorder.outputFormat.MPEG_4); mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); mMediaRecorder.setVideoSize(640,480); mMediaRecorder.setVideoEncodingBitRate(2000000); }
我打赌我会遇到更多的模型,这是一个隐喻性的痛苦,当我这样做时,我会将它们添加到列表中.
总结一下;如果您遇到这些烦人的,几乎无法解释的错误代码,请查看MediaRecorder参数.我建议不要将CamcorderProfile类用于任何低于11的API,因为许多这些模型在使用高质量的实例时会崩溃.
如果您的录像机视频文件显示奇怪的绿色,在屏幕上运行的半对角线等,请尝试将预览大小设置为与录像机视频大小相匹配.
Camera.Parameters param = mCamera.getParameters(); param.setPreviewSize(width,height); mCamera.setParameters( param );
以上是大佬教程为你收集整理的android – MediaRecorder“开始失败-12”全部内容,希望文章能够帮你解决android – MediaRecorder“开始失败-12”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。