如何以编程方式访问新版Android OS上的摄像设备?

时间:2016-05-10 08:57:05

标签: android device hardware access camera2

由于在当前版本的Android操作系统上不推荐使用库'android.hardware.Camera',因此旧的使用已被禁用。 我不知道如何以编程方式访问当前版本的Android上的摄像头实例。

当前的库是'android.hardware.camera2。*'。

有谁知道怎么做? 感谢。

1 个答案:

答案 0 :(得分:0)

以下是来自Google的示例: https://github.com/googlesamples/android-Camera2Basic/blob/master/Application/src/main/java/com/example/android/camera2basic/Camera2BasicFragment.java

我还创建了一个只使用Camera2的库,你可能想试一试!

<强> https://github.com/omaflak/Android-Camera2-Library

这就是最后的样子:

$date = date("d/m/Y h:i",strtotime($date));//format your date as `09/05/2016 09:12`
var_dump(date("d",strtotime($date)));

要安装库,请添加gradle依赖项:

EZCam cam = new EZCam(this);
cam.selectCamera(EZCam.FRONT); // or EZCam.BACK
cam.setStopPreviewOnPicture(true);

cam.setEZCamCallback(new EZCam.EZCamCallback() {
    @Override
    public void onPicture(ImageReader reader) {
        // picture available
        cam.saveImage(reader, "image.jpeg"); // save to internal storage
    }

    @Override
    public void onError(String message) {
        // error occurred
    }
});

TextureView textureView = (TextureView)findViewById(R.id.textureView);
textureView.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
    @Override
    public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int i, int i1) {
        cam.startPreview(surfaceTexture, i, i1);
    }
});

// take picture
cam.takePicture();

// stop preview
cam.stopPreview();

// resume preview
cam.resumePreview();

希望它会有所帮助!