Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > Превью камеры


Автор: TP@MB@Y 14.7.2013, 14:04
Хочу попробовать написать простеькое приложение - работа с камерой. Но столкнулся с проблемой - не показывается превью камеры. 
Уже два дня курю руководства по этой теме... ничего не понимаю из-за чего может быть такая проблема. При запуске приложения вместо превью - черный экран. Тестировал на двух разных девайсах (2.1, 4.0)

Код

@Override
    protected void onResume() {
        super.onResume();
        this.cameraInit();
    }

/*
     * Camera init 
     */
    private void cameraInit() {
     if (null == this.camera) {
         try {
             this.camera = Camera.open();
             this.preview = (SurfaceView) this.findViewById(R.id.camera_playback);
             SurfaceHolder sh;
             sh = this.preview.getHolder();
             this.camera.setPreviewDisplay(sh);

             //this.camera.setPreviewDisplay((SurfaceHolder)this.preview.getHolder());

             this.camera.startPreview();
            }
            catch (Exception e) {
             e.printStackTrace();
            }
     }
    }


Код

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <android.view.SurfaceView
        android:id="@+id/camera_playback"
        android:layout_width="match_parent"
        android:layout_height="335dp" />

</LinearLayout>



Код

    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)