在main.xml布局文件添加用于显示取景画面的SurfaceView 控件:

<SurfaceView android:layout_width="fill_parent" android:layout_height="240dip" android: />

SurfaceView surfaceView = (SurfaceView)this.findViewById(R.id.surfaceView);

surfaceView.getHolder().setFixedSize(176, 144);  //设置分辨率

/*下面设置Surface不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前*/

surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

Camera camera = Camera.open();

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

Display display = wm.getDefaultDisplay();

Camera.Parameters parameters = camera.getParameters();

parameters.setPreviewSize(display.getWidth(), display.getHeight());//设置预览照片的大小

parameters.setPreviewFrameRate(3);//每秒3帧

parameters.setPictureFormat(PixelFormat.JPEG);//设置照片的输出格式

parameters.set("jpeg-quality", 85);//照片质量

parameters.setPictureSize(display.getWidth(), display.getHeight());//设置照片的大小

camera.setParameters(parameters);

camera.setPreviewDisplay(surfaceView.getHolder());//通过SurfaceView显示取景画面

camera.startPreview();//开始预览

camera.autoFocus(null);//自动对焦

camera.takePicture(null, null, null, jpegCallback);//拍照片

camera.stopPreview();//停止预览

camera.release();//释放摄像头

AndroidManifest.xml
main.xml

TakePicActivity

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-17
  • 2021-07-20
  • 2021-12-18
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-20
  • 2021-09-16
  • 2021-08-22
  • 2021-12-30
  • 2021-10-17
  • 2022-12-23
相关资源
相似解决方案