转于: 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. C语言函数以及函数的使用
  2. Android 程序打包及签名
  3. android 调用系统安装程序
  4. android 程序日志记录
  5. Android系统中自带了很多图标,我们的程序可以方便使用。
  6. android摄像头采集和预览-第二种方法
  7. H5 Web网页通过JS(JavaScript)脚本调用Android本地原生方法函数
  8. 在程序中设置android:gravity 和 android:layout_Gravity属性 .
  9. android 程序调试出现source not found的问题

随机推荐

  1. 微服务-Android客户端: 实现注册和登录
  2. 浅析Android(安卓)MediaProvider之二
  3. Android实现录屏直播(三)MediaProjection +
  4. 【Android(安卓)开发】:UI控件之 ScrollVi
  5. android Activity线性布局和表格布局实例
  6. 如何检查 Android 应用的内存使用情况
  7. Android学习路线:如何成长为高级工程师
  8. APP开发 你应该iOS和Android都开发 还是
  9. Android面试宝典----1.选择填空分析及答
  10. Android(安卓)HIDL 在Java 中使用