我正在构建一个显示相机预览的 android 应用程序的一部分。我想为当前设备设置正确的(最佳)预览尺寸。
为此,我使用了以下代码:
public void surfaceChanged(SurfaceHolder surfaceHolder, int format, int w, int h) {
Parameters parameters = camera.getParameters();
List<Size> sizes = parameters.getSupportedPreviewSizes();
// the list seems to be in that order, that the best quality is the first element
parameters.setPreviewSize(sizes.get(0).width, sizes.get(0).height);
camera.setParameters(parameters);
camera.startPreview();
}
现在我的问题是,以下方法是否会更好地为任何设备获得最佳预览质量?
public void surfaceChanged(SurfaceHolder surfaceHolder, int format, int w, int h) {
Parameters parameters = camera.getParameters();
Size preferredSize = parameters.getPreferredPreviewSizeForVideo();
parameters.setPreviewSize(preferredSize.width, preferredSize.height);
camera.setParameters(parameters);
camera.startPreview();
}
目前我只有一台设备(Nexus 4),在这台设备上两种方法的结果相同。但我想知道,你会建议哪种方法。