recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setVIDeoSource(MediaRecorder.VIDeoSource.DEFAulT); recorder.setoutputFormat(MediaRecorder.OutputFormat.MPEG_4); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setVIDeoEncoder(MediaRecorder.VIDeoEncoder.H264);
但是视频的质量与我在本机AndroID相机上拍摄的视频不一样,我使用媒体记录器拍摄的视频与原生视频相比质量较差,如何提高视频质量.
如果有人知道我帮助我.谢谢
解决方法 最后我通过设置vIDeEnCodingBitRate,AudioEnCodingBitRate,AudioSamplingRate等找到了在androID 2.1中录制高质量视频的代码.使用此方法,您可以为视频设置任何想要提供高质量视频的属性.有关设置高质量和低质量参数的信息,请参阅本页,
http://www.andgps.com/20110410/camcorderprofile-predefined-camcorder-profile-settings-for-camcorder-applications
我使用基础版androID 2.1生成高质量视频的代码如下所示,
recorder = new MediaRecorder(); Method[] methods = recorder.getClass().getmethods(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setVIDeoSource(MediaRecorder.VIDeoSource.DEFAulT); recorder.setoutputFormat(MediaRecorder.OutputFormat.MPEG_4); recorder.setVIDeoFrameRate(24); recorder.setVIDeoSize(720,480); for (Method method: methods){ try{ if (method.getname().equals("setAudioChannels")){ method.invoke(recorder,String.format("audio-param-number-of-channels=%d",1)); } else if(method.getname().equals("setAudioEnCodingBitRate")){ method.invoke(recorder,12200); } else if(method.getname().equals("setVIDeoEnCodingBitRate")){ method.invoke(recorder,3000000); } else if(method.getname().equals("setAudioSamplingRate")){ method.invoke(recorder,8000); } else if(method.getname().equals("setVIDeoFrameRate")){ method.invoke(recorder,24); } }catch (IllegalArgumentException e) { e.printstacktrace(); } catch (illegalaccessexception e) { e.printstacktrace(); } catch (InvocationTargetException e) { e.printstacktrace(); } } recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setVIDeoEncoder(MediaRecorder.VIDeoEncoder.H264);
`
总结以上是内存溢出为你收集整理的android中的视频质量?全部内容,希望文章能够帮你解决android中的视频质量?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)