首页 > 代码库 > android JB3上如何更改Camera拍照的quality

android JB3上如何更改Camera拍照的quality

将\packages\apps\Camera\src\com\android\camera\SettingChecker.java中:
        case ROW_SETTING_JPEG_QUALITY:
            int jpegQuality = getJpegQuality(context, Integer.parseInt(value));
            parameters.setJpegQuality(jpegQuality);
            break;
修改为:
        case ROW_SETTING_JPEG_QUALITY:
            int jpegQuality = 100;
            parameters.setJpegQuality(jpegQuality);
            break;
即可。
 
jpegQuality的范围为1~100,您可按需求自行更改,目前6572的JB3默认是90。
 
 
可能带来的问题:
当jpegQuality被设置为大于95时,在复杂场景下encode出来的jpeg file大小可能会超过我们预留的buffer,从而产生各种各样的问题,例如拍出来的照片无法预览,在图库应用中显示无缩略图。
 
当ap设置的jpegQuality>95时,底层在使用前会强制降低为95。
若不降Quality、而增加capture file buffer大小,也可解决此问题。但File size过大,会影响连拍的performance(降低连拍速度、连拍不能达到最大张数等)。所以,最终采用降Quality方式解决。

android JB3上如何更改Camera拍照的quality