package gongzibai.co.cc;

import android.app.Activity;
import android.hardware.Camera;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Ex2Activity extends Activity implements SurfaceHolder.Callback {

Camera mCamera;
SurfaceView mSurfaceView;
SurfaceHolder mSurfaceHolder;
Button mButton1,mButton2;
boolean isPreview=false;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSurfaceView=(SurfaceView)findViewById(R.id.surfaceView1);
mButton1=(Button)findViewById(R.id.button1);
mButton2=(Button)findViewById(R.id.button2);
mSurfaceHolder=mSurfaceView.getHolder();
mSurfaceHolder.addCallback(this);
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mButton1.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

initCamera();

}


private void initCamera() {
// TODO Auto-generated method stub

if (!isPreview) {
mCamera=Camera.open();
}

if (mCamera!=null&&!isPreview) {
try {
mCamera.setPreviewDisplay(mSurfaceHolder);
mCamera.startPreview();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
isPreview=true;
}
}
});


mButton2.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (mCamera!=null&&isPreview) {
mCamera.stopPreview();
mCamera.release();
mCamera=null;
isPreview=false;
}

}
});

}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub

}

@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub

}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub

}
}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. 检测Android本地存储是否有敏感信息
  2. 强制 Android 应用使用某个 Locale语言
  3. Android SDK 2.2 开发环境搭建
  4. 与手势识别有关的Android类
  5. Android 应用程序中-设置-蓝牙,若隐藏蓝牙
  6. Android拖动改变小球位置
  7. Android常用动画alpha和rotate同时使用
  8. android多媒体框架之流媒体----base on j
  9. 阅读《Android(安卓)从入门到精通》(17)—
  10. (转载)再谈Android AsyncTask