Android2.2及2.3版本调用前置摄像头

 

Android系统在2.3时才开始支持前置摄像头,然而市场上很多厂商都在Android2.2及以下的系统版本中使用了前置摄像头。那么怎样让自己的程序能够灵活切换前置和后置摄像头呢?

1、2.3及以上系统摄像头切换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int cameraCount = 0;  
Camera cam = null;  
 
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();  
cameraCount = Camera.getNumberOfCameras(); // get cameras number  
       
for ( int camIdx = 0; camIdx < cameraCount;camIdx++ ) {  
    Camera.getCameraInfo( camIdx, cameraInfo ); // get camerainfo  
    if ( cameraInfo.facing ==Camera.CameraInfo.CAMERA_FACING_FRONT ) {
// 代表摄像头的方位,目前有定义值两个分别为CAMERA_FACING_FRONT前置和CAMERA_FACING_BACK后置  
        try {              
            cam = Camera.open( camIdx );  
        } catch (RuntimeExceptione) {  
            e.printStackTrace();  
    }  
}

2、2.2及以下系统摄像头切换

1
2
3
4
Camera.Parameters parameters = camera.getParameters();
List<size> supportedSizes = parameters.getSupportedPreviewSizes();
//此时supportedSizes会有多个预览尺寸。通常前置摄像头的分辨率会比较小,选择比较小的尺寸设置即可。
parameters.setPreviewSize(size.width,size.height);</size>
上面也解释了程序在只有后置摄像头的设备上运行正常,换到有前置摄像头和后置摄像头的设备上时调用的却是前置摄像头
注意:此方法在A700平板(不知名产品)设备前置摄像头上测试得出。由于在其他设备中没经过测试,不保证可行。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值