2012-03-13 13 views
1

私はcameraPreviewを作成しようとしている、と私は以下のコードで見つかった「Camera.open()」は、このメソッドがアクセス可能か私には利用できないではありませんCamera.open()は利用できない/アクセスできません。

、そこには、このような方法でオブジェクトのカメラ

にアクセスすることができます。

私は何かすべきことはありますか、それともチュートリアルに間違いありませんか?

Javaコード:あなたが最も可能性が高いandroid.graphics.Cameraあるソースファイルの先頭に間違ったカメラのクラスをインポートし

@Override 
    public void surfaceCreated(SurfaceHolder holder) 
    { 
      try 
      { 
        //Open the Camera in preview mode 
        this.camera = Camera.open(); 
        this.camera.setPreviewDisplay(this.holder); 
      } 
      catch(IOException ioe) 
      { 
        ioe.printStackTrace(System.out); 
      } 
    } 
+0

あなたは右のクラスをインポートするチェック/を含めます –

答えて

1

は、完全なカメラビュークラスである:: @Alextscあたりとして

class Preview extends SurfaceView implements SurfaceHolder.Callback { 
private static final String TAG = "Preview"; 
SurfaceHolder mHolder; 
public Camera camera; 

Preview(Context context) { 
    super(context); 
    mHolder = getHolder(); 
    mHolder.addCallback(this); 
    mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 

} 

public void surfaceCreated(SurfaceHolder holder) { 
    camera = Camera.open(); 
    camera.setDisplayOrientation(90); 
    try { 
     camera.setPreviewDisplay(holder); 
     camera.setPreviewCallback(new PreviewCallback() { 

      public void onPreviewFrame(byte[] data, Camera camera) { 
       Log.d(TAG, "onPreviewFrame called at: " 
         + System.currentTimeMillis()); 
       Preview.this.invalidate(); 
      } 
     }); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

public void surfaceDestroyed(SurfaceHolder holder) { 
    camera.release(); 
    camera = null; 
} 

public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { 
    camera.startPreview(); 
} 

}

関連する問題