Android Camera 实例

转载 2012年03月29日 20:52:45
Android Camera 实例
2010-07-04 12:24
注:使用摄像头等媒体设备时必须连上存储卡
<uses-permission android:name="android.permission.CAMERA" />
CamMain.java:
public class CamMain extends Activity implements SurfaceHolder.Callback {
//在SurfaceView上绘制应该实现SurfaceHolder.Callback接口
private SurfaceHolder holder=null;
private SurfaceView surface=null;
private Button bt=null;
private Camera cam=null;

private ShutterCallback sc=new ShutterCallback(){
         @Override
         public void onShutter() {
          // 按下快门后的回调函数
         }};
  
private PictureCallback pc=new PictureCallback(){
         @Override
         public void onPictureTaken(byte[] arg0, Camera arg1) {
          // 源数据
         }};
  
private PictureCallback jpgcall=new PictureCallback(){
         @Override
         public void onPictureTaken(byte[] b, Camera c) {
          // TODO Auto-generated method stub
          try{
           Bitmap bmp=BitmapFactory.decodeByteArray(b, 0, b.length);
           File f=new File("/mnt/sdcard/photo.jpg");
           BufferedOutputStream bos=new BufferedOutputStream(
             new FileOutputStream(f));
           bmp.compress(Bitmap.CompressFormat.JPEG, 80, bos);
           bos.flush();
           bos.close();
          }catch(Exception e){
          }
         }};
          /** Called when the activity is first created. */
          @Override
          public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.main);
              bt=(Button)findViewById(R.id.bt);
              bt.setOnClickListener(new OnClickListener(){
          @Override
          public void onClick(View v) {
           // TODO Auto-generated method stub
           if(cam!=null){
            cam.takePicture(sc, pc, jpgcall);
            cam.stopPreview();
           }
          }});
              surface=(SurfaceView)findViewById(R.id.sv);
              holder=surface.getHolder();//设置Holder
              holder.addCallback(this);
              holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
          }
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
         int height) {
        // TODO Auto-generated method stub
        try{
         Parameters p=cam.getParameters();
         p.setPictureSize(width, height);
         cam.setParameters(p);
         cam.setPreviewDisplay(holder);
         cam.startPreview();
        }catch(Exception e){

        }
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
        // TODO Auto-generated method stub
        cam=Camera.open();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
        // TODO Auto-generated method stub
  
}
}
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent"
       >
<SurfaceView 
       android:id="@+id/sv"
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       />
<Button
android:id="@+id/bt"
android:text="DONE"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</RelativeLayout>

相关文章推荐

android camera应用实例

  • 2012年04月26日 17:19
  • 97KB
  • 下载

android Camera实例

  • 2010年06月17日 14:32
  • 89KB
  • 下载

Android Camera学习笔记之拍摄模式

打开Camera后,有九种拍照模式,分别是普通模式,智能模式,美肤模式,HDR模式,全景模式,特效模式,留声拍照模式,声控拍照模式,连拍优选模式。设置菜单中的模式项及图标是通过MenuIconList...

android camera

  • 2014年08月28日 17:03
  • 5KB
  • 下载

Android Camera

  • 2014年01月12日 22:04
  • 1.29MB
  • 下载

android camera2人脸识别流程分析

android camera2人脸识别框

android Camera 系统,自定义相机

  • 2015年10月14日 09:46
  • 5.57MB
  • 下载

Android Camera2 API

  • 2016年12月11日 16:26
  • 44.72MB
  • 下载

Android Camera 使用一例,视频聊天app

视频聊天的应用可以从下面的框图示意。     所以需要从camera获取视频数据(YUV420sp),压缩成H264/MPEG4/H263的包,再传递到对方。接收对方的压缩包,解压出来显示到LCD...
  • brooknew
  • brooknew
  • 2012年09月20日 11:31
  • 14167

android camera架构和sensor驱动移植

  • 2015年09月23日 16:56
  • 195KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Camera 实例
举报原因:
原因补充:

(最多只允许输入30个字)