我已经在这里阅读了关于它但是答案是含糊不清的所有人一直说是使用getSupportedSizes方法,但我不知道在那之后该如何处理它。
任何帮助将不胜感激。
答案 0 :(得分:6)
使用此方法非常重要,因为不同设备上的摄像头支持非常不同的分辨率,因此,您必须指定您希望在给定设备上可用的分辨率。
...伪
Camera.Parameters cp = mCamera.getParameters();
List<Size> sl = cp.getSupportedPictureSizes();
//now that you have the list of supported sizes, pick one and set it back to the parameters...
int w,h;
for(Size s : sl){
//if s.width meets whatever criteria you want set it to your w
//and s.height meets whatever criteria you want for your h
w = s.width;
h = s.height;
break;
}
cp.setPictureSize(w, h);
mCamera.setParameters(cp);
通常最重要的是照片的宽高比。因此,您需要将w / h与16:9或4:3进行比较,然后在支持的比率下找到最高(或第二高)质量。显然,我不知道您的需求是什么,因此您必须确定实际符合您给定标准的尺寸。如果您只是想要最高质量并且不关心宽高比,那么您通常会发现它是尺寸列表中的最后一项。