Camera周りを少々
CameraSample.java
package jp.android.camerasample; import android.app.Activity; import android.os.Bundle; public class CameraSample extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); setContentView(new MyCameraView(this)); } }
MyCameraView.java
package jp.android.camerasample; import java.io.IOException; import android.content.Context; import android.hardware.Camera; import android.view.SurfaceHolder; import android.view.SurfaceView; public class MyCameraView extends SurfaceView implements SurfaceHolder.Callback{ private SurfaceHolder m_holder; private Camera m_camera; public MyCameraView(Context context) { super(context); m_holder = getHolder(); m_holder.addCallback(this); //オプションにGPUやHWがあるから実機だと、そっちで処理してくれるんだろうか^^; m_holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } public void surfaceChanged(SurfaceHolder holder, int format, int width, int height){ Camera.Parameters parameters = m_camera.getParameters(); parameters.setPreviewSize(width, height); m_camera.setParameters(parameters); m_camera.startPreview(); } public void surfaceCreated(SurfaceHolder holder){ m_camera = Camera.open(); try{ m_camera.setPreviewDisplay(holder); }catch(IOException e){ } } public void surfaceDestroyed(SurfaceHolder holder){ m_camera.stopPreview(); m_camera = null; } }
って、動かしてみようって、動かねぇ〜w;