我一直在處理自定義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。但是,如果設備只有一個攝像頭,則此方法始終返回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();
在這裏,我需要通過攝像頭面對params。
請提供是否有其他選擇。歡迎所有解決方案。
它的罰款這種方式。我認爲沒有隻有前置攝像頭的Android設備。 – aborocz
感謝您的回覆。我有一個設備在測試,即聯想Tab 2 A7-10F,它只有前置攝像頭,我從這裏可以知道這個問題。 – Neo
那麼在這種情況下,它不算作前置攝像頭。 – aborocz