0

由于当前版本的 Android 操作系统已弃用“android.hardware.Camera”库,因此已禁用旧的用法。而且我不知道如何在当前版本的 Android 上以编程方式访问相机的实例。

当前库是“android.hardware.camera2.*”。

有谁知道如何做到这一点 ?谢谢。

4

1 回答 1

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

这是它最后的样子:

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();

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

compile 'me.aflak.libraries:ezcam:1.0'

希望它会有所帮助!

于 2016-05-11T07:42:37.023 回答