2016-05-10 23 views
0

Da die Bibliothek 'android.hardware.Camera' in der aktuellen Version von Android OS veraltet ist, wurde die ältere Verwendung deaktiviert. Und ich weiß nicht, wie programmgesteuert auf die Instanz der Kamera auf der aktuellen Version von Android zugreifen.Wie programmgesteuert auf ein Kamera-Gerät auf der neuen Version von Android OS zuzugreifen?

Die aktuelle Bibliothek ist 'android.hardware.camera2. *'.

Weiß jemand, wie man das macht? Danke. Diese

+0

Siehe diesen Link https://github.com/googlesamples/android-Camera2Basic –

Antwort

0

ist ein Beispiel von Google: https://github.com/googlesamples/android-Camera2Basic/blob/master/Application/src/main/java/com/example/android/camera2basic/Camera2BasicFragment.java

ich auch eine Bibliothek gemacht einfach Camera2 zu verwenden, möchten Sie vielleicht, um ihm einen Schuss!

https://github.com/omaflak/Android-Camera2-Library

Dies ist, wie es wie am Ende aussieht:

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

die Bibliothek zu installieren, in Ihrer gradle Abhängigkeit hinzu:

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

Hoffen, dass es hilft, !