私はカスタムSurfaceViewカメラで作業しています。私のアプリケーションはユーザーのセルフを取るので、フロントカメラで作業する必要があります。カスタムフロントカメラの利用可能性をチェック
私は、以下のコードを使用してフロントカメラが利用可能かどうかを確認しました。
public boolean checkFrontCamera() {
int numCameras = Camera.getNumberOfCameras();
for (int i = 0; i < numCameras; i++) {
Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(i, info);
if (CameraSource.CAMERA_FACING_FRONT == info.facing) {
return true;
}
}
return false;
}
デバイスに両方のカメラが搭載されていて、trueを返している場合は正常です。しかし、デバイスにカメラが1つしかない場合、このメソッドは常にfalseを返します。この場合、info.facingは0であり、このコードではCameraSource.CAMERA_FACING_FRONTは1です。
カメラ用、私はgmsビジョンライブラリを使用しています。以下のコードは、カメラソース用です。
CameraSource mCameraSource = new CameraSource.Builder(context, detector)
.setRequestedPreviewSize(640, 480)
.setFacing(CameraSource.CAMERA_FACING_FRONT)
.setRequestedFps(30.0f)
.build();
ここでは、カメラに直面しているパラメータを渡す必要があります。
他の方法をご用意ください。すべてのソリューションが歓迎されています。
を返し、このメソッドを使用することができます。私はフロントカメラだけのアンドロイドデバイスはないと思う。 – aborocz
お返事ありがとうございます。私はこの問題を知るために来ているフロントカメラだけを持っている、つまりLenovo Tab 2 A7-10Fという装置を持っています。 – Neo
その場合、フロントカメラとはみなされません。 – aborocz