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 设置概述

不废话 首先,我们罗列出android 使用相机时涉及的东西: camera 实例 surfaceview 预览框  surfaceHolder 帧处理工具 preview size camera...
  • vvweilong
  • vvweilong
  • 2016年07月27日 18:44
  • 512

Android中Camera的开发的简单例子

看了好久官方的文档,研究了好长时间,明明感觉很简单的东西,却一直不成功,最后明白了问题所在,原来是一个很简单的小问题,顿时欲哭无泪。先贴上代码package com.XC.camerastudy;im...
  • xingchenxuanfeng
  • xingchenxuanfeng
  • 2016年03月24日 11:25
  • 1288

<Android Framework 之路> N版本 Framework Camera的一些改动

N framework Camera
  • poorkick
  • poorkick
  • 2016年09月13日 17:20
  • 2446

android camera实例

在android平台上实现拍照很简单,这里提供了一个简单的demo,有对焦和拍照功能。 1,首先配置文件中的权限如下:                2,代码注释比较清楚,就不罗...
  • u011428395
  • u011428395
  • 2013年07月23日 21:25
  • 1250

android 自定义相机和拍摄

这个demo是没有做5.0 ,6.0,  7.0权限处理的  ,需要的话自己加上,我这里就不弄的那么麻烦了,首先说说步骤 步骤1.打开相机,设置 相机的一些参数 比如 预览时大小啊,相机旋转,预览监听...
  • ai_te_xiao
  • ai_te_xiao
  • 2017年10月13日 16:06
  • 210

AndroidUSBCamera,UVCCamera开发通用库

    AndroidUSBCamera基于[saki4510t/UVCCamera](https://github.com/saki4510t/UVCCamera)开发,该项目对USB Camera...
  • AndrExpert
  • AndrExpert
  • 2017年10月23日 22:22
  • 3540

Android Camera 调用流程

一:Camera的执行流程: 1.总体介绍   Android Camera框架从整体上看是一个client/service架构。有两个进程,一个是client进程,可以看成AP端 ,主要包括Jav...
  • qq_32067045
  • qq_32067045
  • 2016年06月16日 17:56
  • 5526

Android binder -- Binder应用实例

Binder应用实例         前一篇文章我们从进程的C/C++层面讲解了binder机制的服务代理对象BpBinder的获取,和Binder底层处理方法。整个服务代理的获取过程也是binde...
  • kevinx_xu
  • kevinx_xu
  • 2014年03月01日 00:43
  • 1487

Android Camera的使用 (一)

一、前言 在android 5.0 之后 官方已经不推荐Camear这个类了,而是推荐 android.hardware.camera2 包下的api.但我们还是有必要学习一下。Camera这个类可...
  • a992036795
  • a992036795
  • 2016年08月10日 13:39
  • 1006

AndroidCamera使用

一个快速的方法来拍照或录像就是使用一个意图来调用Android手机上的相机应用程序来拍照或摄像。 使用相机意图需要通过以下步骤: 1. 创建一个意图,请求图像或视频: MediaStore.ACTIO...
  • zhangying1994
  • zhangying1994
  • 2016年05月25日 20:35
  • 678
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Camera 实例
举报原因:
原因补充:

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