转于: http://blog.csdn.net/nupt123456789/article/details/7980720

-----------------------------------------------------------------------------------------------

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

[java] view plain copy
  1. @TargetApi(9)
  2. privateintFindFrontCamera(){
  3. intcameraCount=0;
  4. Camera.CameraInfocameraInfo=newCamera.CameraInfo();
  5. cameraCount=Camera.getNumberOfCameras();//getcamerasnumber
  6. for(intcamIdx=0;camIdx<cameraCount;camIdx++){
  7. Camera.getCameraInfo(camIdx,cameraInfo);//getcamerainfo
  8. if(cameraInfo.facing==Camera.CameraInfo.CAMERA_FACING_FRONT){
  9. //代表摄像头的方位,目前有定义值两个分别为CAMERA_FACING_FRONT前置和CAMERA_FACING_BACK后置
  10. returncamIdx;
  11. }
  12. }
  13. return-1;
  14. }
  15. @TargetApi(9)
  16. privateintFindBackCamera(){
  17. intcameraCount=0;
  18. Camera.CameraInfocameraInfo=newCamera.CameraInfo();
  19. cameraCount=Camera.getNumberOfCameras();//getcamerasnumber
  20. for(intcamIdx=0;camIdx<cameraCount;camIdx++){
  21. Camera.getCameraInfo(camIdx,cameraInfo);//getcamerainfo
  22. if(cameraInfo.facing==Camera.CameraInfo.CAMERA_FACING_BACK){
  23. //代表摄像头的方位,目前有定义值两个分别为CAMERA_FACING_FRONT前置和CAMERA_FACING_BACK后置
  24. returncamIdx;
  25. }
  26. }
  27. return-1;
  28. }
  29. publicvoidsurfaceCreated(SurfaceHolderholder){
  30. intCammeraIndex=FindBackCamera();
  31. if(CammeraIndex==-1){
  32. CammeraIndex=FindFrontCamera();
  33. }
  34. mCamera=Camera.open(CammeraIndex);
  35. }


注意:要在android2.3以上平台才可以!不然,编译不通

转载请声明:http://write.blog.csdn.net/postedit/7980720

android调用前置和后置摄像头并进行视频和图像处理示例:http://download.csdn.net/detail/nuptboyzhb/4573084

更多相关文章

  1. android手势滑动——左右滑动效果实现
  2. android camera [一] Camera open process
  3. Android休眠唤醒驱动流程分析
  4. Unity调用Android
  5. android 调用系统安装程序
  6. 2013.09.23——— android js调用
  7. Android调用系统自带的文件管理器进行文件选择并获得路径
  8. 深入理解Notification机制
  9. android调用系统相机并调整照片大小保存,最后上传照片

随机推荐

  1. Android(安卓)1.5 1.6 2.0 2.1 2.2 2.3 3
  2. Android(安卓)简单欢迎页面设计
  3. Android打开通讯录并获取数据
  4. 自定义类似于listView中Item背景
  5. Android的内存优化相关记录
  6. Android提取系统所有的缩略图
  7. android中无限循环滑动的gallery实例
  8. 【Android(安卓)设计】:模式_ Android新特
  9. Android(安卓)Studio Error : Instant Ru
  10. Mac完整卸载Android(安卓)Studio的方法