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

}
}

作者:gongzibai 发表于2012-6-8 17:24:11 原文链接 阅读:0 评论:0 查看评论

更多相关文章

  1. 【Android(安卓)UI】色板
  2. openCv 导入 android studio
  3. Vuforia How To Use Android(安卓)Plugins in Unity Apps
  4. [置顶] Android(安卓)防内存泄露handler
  5. Android4.1(Jelly Bean)API新特性尝鲜
  6. android mapview 学习总结
  7. 【翻译】(14)Stable APIs
  8. android 单元测试之dialog测试链接整理
  9. Android中TextView中加图片,超链接,一部分字或者背景变色。不断补

随机推荐

  1. Android如何解析Intent Filter
  2. Android中Fragment与Activity之间的交互(
  3. DIY Android之一--原生Android系统主题支
  4. Android(安卓)Treble 结构:Part 1 - 介绍
  5. Android(安卓)bitmap图片处理
  6. Android(安卓)solve设备(手机)旋转过程中
  7. Android多点触控开发原理
  8. android jni 的编写一(JNI的静态注册)
  9. 《Android系统源代码情景分析》连载回忆
  10. Android消息循环机制源码深入理解