このスクリプトを使用して、前面カメラを開きました。
private Camera openFrontFacingCameraGingerbread() {
int cameraCount = 0;
Camera cam = null;
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
cameraCount = Camera.getNumberOfCameras();
for ( int camIdx = 0; camIdx < cameraCount; camIdx++ ) {
Camera.getCameraInfo( camIdx, cameraInfo );
if ( cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
try {
cam = Camera.open(camIdx);
} catch (RuntimeException e) {
Log.e(TAG, "Camera failed to open: " + e.getLocalizedMessage());
}
}
}
このスクリプトでは、すべてのデバイスでフロントカメラを選択して開く必要があると思います。しかし、私のデバイスでは、スクリプトは2台のカメラ(フロント+バックカメラ)を備えたデバイスでのみ正しく機能します。フロントカメラが1つある他のデバイスでは、空白の画面しか表示されません。フロントカメラ1台のみでカメラにアクセスすることに違いはありますか?