我已设置mMediaRecorder.setVideoSize
。
我希望通过setVideoEncodingBitRate()
获得高,中,低视频质量效果。当我调用函数setVideoEncodingBitRate()
时,我应该为高,中,低质量设置什么值?
recorder.setVideoEncodingBitRate(3000000)
质量高吗?如何计算值3000000?
我不想使用CamcorderProfile
。
顺便说一句,我已阅读文件How to set the MediaRecorder to get the best video quality effect?
答案 0 :(得分:2)
没有个人资料:
recorder.setVideoSize(640, 480);
recorder.setVideoFrameRate(16); //might be auto-determined due to lighting
recorder.setVideoEncodingBitRate(3000000);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);// MPEG_4_SP
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
或者如果您想使用现有的个人资料
CamcorderProfile cpHigh = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
recorder.setProfile(cpHigh);
请注意,您不能同时拥有这两个选项,因为您会收到错误或准备不起作用
由于并非所有Android API和/或设备都支持相同的值,您必须查询每台设备的最大值或查找适用于所有设备的内容。