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平板(不知名产品)设备前置摄像头上测试得出。由于在其他设备中没经过测试,不保证可行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值