SurfaceView surfaceView = findViewById(R.id.surfaceView); surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() { @Override public void surfaceCreated(SurfaceHolder holder) { //获取相机实例 Camera camera = Camera.open(); try { //设置预览窗口 camera.setPreviewDisplay(holder); //设置相机参数 Camera.Parameters parameters = camera.getParameters(); parameters.setPreviewSize(holder.getSurfaceFrame().width(), holder.getSurfaceFrame().height()); camera.setParameters(parameters); //开始预览 camera.startPreview(); //设置照片预览镜像显示 camera.setPreviewDisplay(holder); camera.setDisplayOrientation(180); } catch (IOException e) { e.printStackTrace(); } }
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
});
@Override protected void onPause() { super.onPause(); Camera camera = Camera.open(); if (camera != null) { camera.stopPreview(); camera.release(); } }