سؤال

أحاول معاينة الكاميرا

هذا هو الكود الخاص بي ولا يرمي أي خطأ ، لكن الشاشة لا تزال سوداء. أيه أفكار؟

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>
هل كانت مفيدة؟

المحلول

أنت تتصل بالخطوط الثلاثة الأخيرة في وقت مبكر جدًا. عليك أن تنتظر حتى يكون السطح مستعدًا قبل الاتصال setPreviewDisplay() وعليك أن تنتظر حتى يكون الحجم (surfaceChanged()) قبل الاتصال startPreview(). هذا المشروع لديه ما تحتاجه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top