如何在Android上拍照(API Level 21)?

时间:2015-01-29 07:48:59

标签: android android-camera

我是Android开发的新手,但拥有Java / C#经验。我想用相机api拍照,在屏幕上显示并保存到磁盘。

我喜欢使用最新的api,它说android.hardware.Camera已经过时,我们应该使用android.hardware.camera2。我搜索了互联网,但在android.hardware.camera2上找不到一些信息。

这就是我现在所拥有的。

    CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
    String[] ids = manager.getCameraIdList();
    for (String id : ids) {
        CameraCharacteristics ch = manager.getCameraCharacteristics(id);
        if (ch.get(CameraCharacteristics.LENS_FACING) == CameraCharacteristics.LENS_FACING_BACK) {
            manager.openCamera(id, new CameraCallback(), null);
        }
    }

class CameraCallback extends CameraDevice.StateCallback {

    @Override
    public void onOpened(CameraDevice camera) {
        try {
            CaptureRequest.Builder captureBuilder = camera.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);

        } catch (CameraAccessException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onDisconnected(CameraDevice camera) {        }

    @Override
    public void onError(CameraDevice camera, int error) {        }
}

CaptureRequest.Builder captureBuilder我应该做什么之后,我不知道。我想看一些样品。

此外,我应该使用什么控件来显示图像?

0 个答案:

没有答案