2 annbnncnnd AnnBnnCnnD 于 2013.02.27 14:38 提问

检测设备是否存在前置摄像头

照相机,我自己写的代码:

mMediaRecorderVideo=new MediaRecorder();
mCamera=Camera.open();      
mCamera.setDisplayOrientation(90);
mCamera.unlock();
mMediaRecorderVideo.setCamera(mCamera);
mMediaRecorderVideo.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
mMediaRecorderVideo.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
mMediaRecorderVideo.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));

使用设备的默认相机,但是如果有前置相机需要设置,应该怎么检测?谢谢

2个回答

g989_1314125
g989_1314125   2013.02.28 10:45
已采纳
int numCameras= Camera.getNumberOfCameras();
for(int i=0;i<numCameras;i++){
    Camera.CameraInfo info = new CameraInfo();
    Camera.getCameraInfo(i, info);
    if(CAMERA_FACING_FRONT == info.facing){
        return true;
    }
}
return false;

如果你还要得到前置相机的数量,那么在return中返回i,0返回not found

usniyo
usniyo   2013.02.28 09:24
int cameraId = android.hardware.Camera.getNumberOfCameras();

cameraId大于1就是有两个以上的摄像头,打开用open(int id),id为0到cameraId-1

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!