Androidはカメラを使って撮影後にプレビュー画面にとどまる問題を実現
1942 ワード
カメラは写真を撮るコードを実現します:
/**
*
*/
public void startCapture() {
if (null != camera) {
camera.takePicture(null, null, pictureCallback);
}
}
private final Camera.PictureCallback pictureCallback = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
//
if (data != null) {
//
try {
File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
if (!dir.exists()) {
dir.mkdirs();
}
File mCaptureFile = new File(dir, System.currentTimeMillis() + ".jpg");
FileOutputStream fos = new FileOutputStream(mCaptureFile);
fos.write(data);
fos.close();
Toast.makeText(surfaceView.getContext(), " ", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(surfaceView.getContext(), " ", Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(surfaceView.getContext(), " , ", Toast.LENGTH_SHORT).show();
}
}
};
, , , camera ,
Camera.Parameters params = camera.getParameters();
params.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
camera.setParameters(params);