我尝试使用自己的相机界面制作应用程序。我使用android.hardware.Camera。我第一次一步一步地做this教程,但有些问题(在surfaceCreated中)NullPointerExcepiton
所以我试过这个但是出了点问题。
public class AktivitaDisplej extends Activity implements SurfaceHolder.Callback {
private Camera aKamera=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SurfaceView surface=new SurfaceView(this);
surface.getHolder().addCallback(this);
surface.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
setContentView(surface);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
aKamera=Camera.open();
aKamera.setPreviewDisplay(holder);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
Camera.Parameters param=aKamera.getParameters();
param.setPreviewSize(width, height);
aKamera.setParameters(param);
aKamera.startPreview();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
aKamera.stopPreview();
aKamera.release();
aKamera=null;
}
}
ERORRS:
08-27 21:00:52.798: E/AndroidRuntime(5093): FATAL EXCEPTION: main
08-27 21:00:52.798: E/AndroidRuntime(5093): java.lang.RuntimeException: Fail to connect to camera service
08-27 21:00:52.798: E/AndroidRuntime(5093): at android.hardware.Camera.native_setup(Native Method)
08-27 21:00:52.798: E/AndroidRuntime(5093): at android.hardware.Camera.<init>(Camera.java:350)
08-27 21:00:52.798: E/AndroidRuntime(5093): at android.hardware.Camera.open(Camera.java:327)
08-27 21:00:52.798: E/AndroidRuntime(5093): at sal.camera.AktivitaDisplej.surfaceCreated(AktivitaDisplej.java:55)
知道哪里有问题?