我有一个代码示例:
mediaRecorder = new MediaRecorder();
mediaRecorder.setPreviewDisplay(surfaceHolder.getSurface());
mediaRecorder.setCamera(camera);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_480P));
这似乎很好,以及CamcorderProfile.QUALITY_LOW
但是,当我尝试获取360p视频并使用CamcorderProfile.QUALITY_CIF(int = 3)时,Sony Xperia Z3(android 6.0.1)出现了错误。
MediaProfiles: The given camcorder profile camera 0 quality 3 is not found
System.err: java.lang.RuntimeException: Error retrieving camcorder profile params
System.err: at android.media.CamcorderProfile.native_get_camcorder_profile(Native Method)
System.err: at android.media.CamcorderProfile.get(CamcorderProfile.java:471)
System.err: at android.media.CamcorderProfile.get(CamcorderProfile.java:402)
<...>
AOSP测试套件是否还没有针对SDK相机质量常数进行测试?我可以在生产中使用哪些常量,并期望所有电话(至少从5.0开始)都支持它?
但是,当我尝试获取360p视频并使用CamcorderProfile.QUALITY_CIF(int = 3)时,Sony Xperia Z3(android 6.0.1)出现了错误。
如果您致电hasProfile()
,以查看配置文件是否受支持,并返回true
,但仍然出现此崩溃,则设备固件中存在错误。
如果您没有调用hasProfile()
,或者您忽略了它的结果,则说明您的应用程序中存在错误。
我可以在生产中使用哪些常量,并期望所有电话(至少从5.0开始)都支持它?
我不认为这是正式文件。我认为这QUALITY_LOW
和QUALITY_HIGH
应始终存在,虽然输出从他们可能会或可能无法正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句