Android - Camera Preview
Question
i'm trying the camera preview
This is my code and it doesn't throw any error, but the screen is still black. Any ideas?
this.setContentView(R.layout.camerapreview);
SurfaceView cameraSurface = (SurfaceView)findViewById(R.id.cpPreview);
SurfaceHolder holder = cameraSurface.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
this.camera = Camera.open();
this.camera.setPreviewDisplay(holder);
this.camera.startPreview();
camerapreview.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<SurfaceView
android:id="@+id/cpPreview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
</SurfaceView>
</LinearLayout>
Solution
You are calling the last three lines too early. You have to wait for the surface to be prepared before calling setPreviewDisplay()
and you have to wait for the surface to be sized (surfaceChanged()
) before calling startPreview()
. This project has what you need.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow