织梦CMS - 轻松建站从此开始!

罗索

当前位置: 主页>嵌入式开发>Android>

android打开前置摄像头和后置摄像头

落鹤生 发布于 2012-12-09 14:57 点击:次 
编程的时候,我们在调用Camera函数的open函数之前,必须查找是否有可用的摄像头。然后将查找到的摄像头序号传递给Camera类的open函数。
TAG:

前言:
我的android设备是原道N70双擎pad。这个平板电脑没有后置摄像头,只有前置摄像头,当我安装一些程序的时候,会出现“xxxx.apk已经终 止”的错误,然后程序就会退出。思前想后,发现一般的应用程序是安装在手机上的,程序的默认摄像头是后置摄像头。由于我的pad没有后置摄像头,所以,调 用后置摄像头就发生失败!怎么解决呢?
解决问题
编程的时候,我们在调用Camera函数的open函数之前,必须查找是否有可用的摄像头。然后将查找到的摄像头序号传递给Camera类的open函数。

  1. @TargetApi(9) 
  2.  private int FindFrontCamera(){ 
  3.         int cameraCount = 0; 
  4.         Camera.CameraInfo cameraInfo = new Camera.CameraInfo(); 
  5.         cameraCount = Camera.getNumberOfCameras(); // get cameras number 
  6.               
  7.         for ( int camIdx = 0; camIdx < cameraCount;camIdx++ ) { 
  8.             Camera.getCameraInfo( camIdx, cameraInfo ); // get camerainfo 
  9.             if ( cameraInfo.facing ==Camera.CameraInfo.CAMERA_FACING_FRONT ) { 
  10. // 代表摄像头的方位,目前有定义值两个分别为CAMERA_FACING_FRONT前置和CAMERA_FACING_BACK后置 
  11.                return camIdx; 
  12.             } 
  13.         } 
  14.      return -1; 
  15.     } 
  16.     @TargetApi(9) 
  17.     private int FindBackCamera(){ 
  18.         int cameraCount = 0; 
  19.         Camera.CameraInfo cameraInfo = new Camera.CameraInfo(); 
  20.         cameraCount = Camera.getNumberOfCameras(); // get cameras number 
  21.               
  22.         for ( int camIdx = 0; camIdx < cameraCount;camIdx++ ) { 
  23.             Camera.getCameraInfo( camIdx, cameraInfo ); // get camerainfo 
  24.             if ( cameraInfo.facing ==Camera.CameraInfo.CAMERA_FACING_BACK ) { 
  25. // 代表摄像头的方位,目前有定义值两个分别为CAMERA_FACING_FRONT前置和CAMERA_FACING_BACK后置 
  26.                return camIdx; 
  27.             } 
  28.         } 
  29.      return -1; 
  30.     } 
  31.     public void surfaceCreated(SurfaceHolder holder) { 
  32.         int CammeraIndex=FindBackCamera(); 
  33.         if(CammeraIndex==-1){ 
  34.          CammeraIndex=FindFrontCamera(); 
  35.         } 
  36.      mCamera = Camera.open(CammeraIndex); 
  37.     } 

 

(qhs1573)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201212/16418.html]
本文出处:CSDN博客 作者:qhs1573
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容