如何以编程方式访问新版本 Android OS 上的相机设备?
How to access a camera-device on the new version of Android OS programmatically?
因为库 'android.hardware.Camera' 在当前版本的 Android OS 上已被弃用,旧用法已被禁用。
而且我不知道如何以编程方式访问当前版本 Android 上的相机实例。
当前图书馆是'android.hardware.camera2.*'。
有人知道怎么做吗?
谢谢
我还制作了一个库来简单地使用 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'
希望对您有所帮助!
因为库 'android.hardware.Camera' 在当前版本的 Android OS 上已被弃用,旧用法已被禁用。 而且我不知道如何以编程方式访问当前版本 Android 上的相机实例。
当前图书馆是'android.hardware.camera2.*'。
有人知道怎么做吗? 谢谢
我还制作了一个库来简单地使用 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'
希望对您有所帮助!