web-dev-qa-db-ja.com

Android-カメラプレビュー

カメラのプレビューを試しています

これは私のコードであり、エラーはスローされませんが、画面はまだ黒です。何か案は?

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>
14
david

最後の3行を呼び出すのが早すぎます。 setPreviewDisplay()を呼び出す前に、サーフェスが準備されるのを待つ必要があります。また、surfaceChanged()を呼び出す前に、サーフェスのサイズが変更されるのを待つ必要があります(startPreview())。 このプロジェクト 必要なものがあります。

46
CommonsWare