// 选择合适的预览尺寸
List<Camera.Size> sizeList = parameters.getSupportedPreviewSizes(); // 如果sizeList只有一个我们也没有必要做什么了,因为就他一个别无选择
if (sizeList.size() > 1) {
Iterator<Camera.Size> itor = sizeList.iterator();
while (itor.hasNext()) {
Camera.Size cur = itor.next();
if (cur.width >= PreviewWidth
&& cur.height >= PreviewHeight) {
PreviewWidth = cur.width;
PreviewHeight = cur.height;
break;
}
}
} // 设置Preview(预览)的尺寸
parameters.setPreviewSize(PreviewWidth, PreviewHeight);// 设定图片尺寸
parameters.setPictureSize(Picwidth, Picheight);

解决方案 »

  1.   

    try {
         int PreviewWidth = 0;
         int PreviewHeight = 0;
    WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);//获取窗口的管理器
    Display display = wm.getDefaultDisplay();//获得窗口里面的屏幕
    Camera.Parameters parameters  = mCamera.getParameters();
    // 选择合适的预览尺寸
    List<Camera.Size> sizeList = parameters.getSupportedPreviewSizes(); // 如果sizeList只有一个我们也没有必要做什么了,因为就他一个别无选择
    if (sizeList.size() > 1) {
    Iterator<Camera.Size> itor = sizeList.iterator();
    while (itor.hasNext()) {
    Camera.Size cur = itor.next();
    if (cur.width >= PreviewWidth
    && cur.height >= PreviewHeight) {
    PreviewWidth = cur.width;
    PreviewHeight = cur.height;
    break;
    }
    }
    }
    parameters.setPreviewSize(PreviewWidth, PreviewHeight); //获得摄像区域的大小
    parameters.setPreviewFrameRate(3);//每秒3帧  每秒从摄像头里面获得3个画面
    parameters.setPictureFormat(PixelFormat.JPEG);//设置照片输出的格式
    parameters.set("jpeg-quality", 85);//设置照片质量
    parameters.setPictureSize(PreviewWidth, PreviewHeight);//设置拍出来的屏幕大小
    //
    mCamera.setParameters(parameters);//把上面的设置 赋给摄像头
    mCamera.setPreviewDisplay(mySurfaceView.getHolder());//把摄像头获得画面显示在SurfaceView控件里面
    mCamera.startPreview();//开始预览
    mPreviewRunning = true;
    } catch (IOException e) {
    Log.e(TAG, e.toString());
    }
    }
      

  2.   

    我的还是报错。能给我发个Demo么? 万分感谢。
    [email protected]
      

  3.   

    我的还是报错。能给我发个Demo么? 万分感谢。
    [email protected]
    把break去掉
      

  4.   

    parameters.setPictureSize(Picwidth, Picheight);这两个参数是多少啊??你没说清楚