关于Android的Camera的Parameter


本人在使用Camera的时候,setParameter()的时候,出现错误。

代码如下:

Camera.Parameters parameters = camera.getParameters();

WindowManager manager = (WindowManager)getSystemService(Context.WINDOW_SERVICE);

Display display = manager.getDefaultDisplay();

parameters.setPreviewSize(display.getWidth(),display.getHeight());


Log.i("run",display.getWidth()+":"+display.getHeight());


parameters.setPreviewFrameRate(3);

parameters.setPreviewFormat(PixelFormat.JPEG);

parameters.set("jpeg-quality",85);

parameters.setPictureSize(display.getWidth(),display.getHeight());

camera.setParameters(parameters);

然后,运行时候出现了错误。报错为: setParameters failed

我Google了很久,也有很多人问这个问题。但没找到很好的解决方案。

stackoverflow上有人说,通过parameters.getSupportedPreviewSizes();来获得合适的previewSize然后去选择。

但用模拟器时候,会出现previewSize为null的情况。悲剧。

然后,我发现有一个错误如此显示:only yuv422sp preview is supported

又Google了一下,才知道可能是parameters.setPreviewFormat(PixelFormat.JPEG);出错。

最后对照着Logcat的错误提示,改了parameters.setPreviewSize(213,350);

parameters.setPreviewFormat(PixelFormat.YCbCr_422_SP);

parameters.setPictureSize(213,350);

这三句话,然后才正常运行拍照。

最后代码:

WindowManager manager = (WindowManager)getSystemService(Context.WINDOW_SERVICE);

Display display = manager.getDefaultDisplay();
parameters.setPreviewSize(213,350);

Log.i("run",display.getWidth()+":"+display.getHeight());

parameters.setPreviewFrameRate(3);
parameters.setPreviewFormat(PixelFormat.YCbCr_422_SP);
parameters.set("jpeg-quality",85);
parameters.setPictureSize(213,350);
camera.setParameters(parameters);




更多相关文章

  1. 引用自定义资源需注意数据类型
  2. Android下为自己定义WifiManager类wifi模块代码
  3. 去掉android的屏幕上的title bar
  4. Android(安卓)HAL 开发 (1)
  5. android studio常见错误及异常处理记录
  6. android:ellipsize
  7. Error inflating class android.support.design.widget.Navigati
  8. eclipse android项目转android studio 错误:Android(安卓)Studio
  9. Android(安卓)Design Support Library的代码实验

随机推荐

  1. Android中利用GridView实现水平和垂直均
  2. Android(安卓)Studio小技巧
  3. android如何配置基本环境
  4. Android的Camera架构介绍
  5. android开发学习笔记(1)我的第一个android
  6. Android(安卓)体系结构介绍
  7. Android控件之ProgressBar
  8. 《疯狂Android讲义》学习笔记二
  9. android 网络开发
  10. 基于 Android(安卓)NDK 的学习之旅-----