java - 如何检查当前设备上是否存在前置摄像头?

标签 java android

我使用以下代码来处理相机:

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));

所以,我使用设备的默认摄像头,但如果可能的话,我需要设置前置摄像头。请告诉我,我怎样才能检查它?

最佳答案

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;

如果你想获取前置摄像头的编号,返回 i 代替,没有找到则返回 0。

关于java - 如何检查当前设备上是否存在前置摄像头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15097231/

相关文章:

android - 使用较大的数据集快速滚动 ListView 时出现 ANR

android - MonoForAndroid : android-support-v4. jar编译问题

android - 在android中添加数据以估计信标广告包

java - 提交操作时

java - 在没有 hashmap 结构的微调器中使用键和值

java - 检查数组长度是否是完全平方数

android - 使用 Proguard 编译给出 SimException : "local variable type mismatch"

java - 使用 websphere Portal 与 spring mvc(确定 portlet 解决方案是否有保证的指南)

java - 只要 editText 变空,SPAN_EXCLUSIVE_EXCLUSIVE 跨度就不能有零长度错误

android - 更改状态代码 Rails