Ich möchte ein Kamera-Gerät mit libgdx Android und ich verwende this code. Aber ich bin NullPointerException
an dieser Linie Camera.Parameters p = camera.getParameters();
in CameraSurface.java
Klasse geting.Libgdx android: camera.getParameters() stürzt App NullPointerException
package com.mygdx.cameradevice;
import java.io.IOException;
import android.content.Context;
import android.hardware.Camera;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class CameraSurface extends SurfaceView implements SurfaceHolder.Callback {
private Camera camera;
public CameraSurface(Context context) {
super(context);
// We're implementing the Callback interface and want to get notified
// about certain surface events.
getHolder().addCallback(this);
// We're changing the surface to a PUSH surface, meaning we're receiving
// all buffer data from another component - the camera, in this case.
getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder holder) {
// Once the surface is created, simply open a handle to the camera hardware.
camera = Camera.open();
}
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
// This method is called when the surface changes, e.g. when it's size is set.
// We use the opportunity to initialize the camera preview display dimensions.
//System.out.println("ajay");
//camera=Camera.open();
Camera.Parameters p = camera.getParameters();
p.setPreviewSize(width,height);
camera.setParameters(p);
// We also assign the preview display to this surface...
try {
camera.setPreviewDisplay(holder);
} catch(IOException e) {
e.printStackTrace();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
// Once the surface gets destroyed, we stop the preview mode and release
// the whole camera since we no longer need it.
camera.stopPreview();
camera.release();
camera = null;
}
public Camera getCamera() {
return camera;
}
}
also, ich denke, dass 'SurfaceChanged' Methode vor 'SurfaceCreated' aufgerufen wird. schauen Sie doch einmal [hier] (http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-fix-it) – Enigo
Haben Sie Kamera Berechtigungen & Flash/Hardware hinzugefügt Funktionen in Manifest ??? – VVB
Ja, ich habe die Kamera-Berechtigung in der AndroidManifest.xml-Datei hinzugefügt, und die Methode "SurfaceCreated" wird zum ersten Mal nach dem Ausführen von SurfaceChanged.So ausgeführt. Ich erhalte NullPointerException in dieser Zeile Camera.Parameters p = camera.getParameters() in der CameraSurface-Klasse. –