我已經連接了一個usb相機並想要打開並拍照。 我想圖解如何使用「android.hardware.camera.external」功能訪問該相機。 「manager.getCameraIdList();」返回2個攝像頭(前後)的計數,而不是連接的USB攝像頭。如何在android中使用android.hardware.camera.external打開usb相機
0
A
回答
0
對我的作品在未來的配置與官方的API USB相機:
相機(舊API)
在某些中國設備,Camera.CameraInfo.CAMERA_FACING_FRONT
作品,但有些時候你應該強制camIdx
0 。
public static Camera getCameraInstance() {
Camera c = null;
try {
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
int cameraCount = Camera.getNumberOfCameras();
for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
Camera.getCameraInfo(camIdx, cameraInfo);
Log.i(TAG, "[Camera] try to open camera camIdx:" + camIdx);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
try {
c = Camera.open(camIdx);
mCameraIdx = camIdx;
Log.i(TAG, "[Camera] camIdx:" + camIdx);
} catch (RuntimeException e) {
Log.e(TAG, "[Camera] failed to open: " + e.getLocalizedMessage());
}
}
}
if (c == null) {
Log.i(TAG, "[Camera] forcing open camera with camIdx 0");
c = Camera.open(0); // force because FACING_FRONT not found
mCameraIdx = 0;
}
} catch (Exception e) {
Logger.e("TAG", "[Camera] Open camera failed: " + e);
}
return c;
}
Camera2(新API)
爲Camera2 API類似:
public String getCamera(CameraManager manager) {
String cameraIndex = "0";
try {
for (String cameraId : manager.getCameraIdList()) {
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
Logger.d(TAG, "cameraId " + cameraId);
int cOrientation = characteristics.get(CameraCharacteristics.LENS_FACING);
if (cOrientation != CAMERACHOICE) {
cameraIndex = cameraId;
}
}
} catch (CameraAccessException e) {
e.printStackTrace();
}
return cameraIndex;
}
但在我的經驗,一些Android的ROM的實現是非常糟糕的(有時定製的硬件或中國硬件),那麼它不工作。在某些情況下,您應該使用libuvc
驅動程序,前提是某些USB攝像頭:https://github.com/saki4510t/UVCCamera
0
目前有(安卓操作系統)通過標準攝像頭API在Android設備上沒有常見的USB攝像頭支持。
一些Android製造商確實對USB攝像頭有自己的支持,但很難知道哪些設備是做什麼和不做什麼的。
相關問題
- 1. 如何在android webview中打開相機?
- 2. 在Android中使用相機api打開相機
- 3. 在android中使用相機Api打開相機
- 4. 使用OpenCV打開Android本機相機
- 5. 如何在iOS中使用相框打開相機
- 6. ANDROID - 在android中按下按鈕時如何打開相機?
- 7. 在Android中打開相機閃光LED?
- 8. 在android中打開默認相機?
- 9. 在Android中使用相機應用程序後打開DialogFragment
- 10. 從android webView打開相機
- 11. 如何打開photosphere相機?
- 12. 在Android 1.5中不推薦使用NDK集成 - 打開相機
- 13. 如何使用AssetsLibrary.framework在iphone sdk中打開自定義相機?
- 14. 如何以編程方式在Food Mode中打開Android相機?
- 15. 如何獲取已在android中打開的相機對象?
- 16. 如何在android中使用相機?
- 17. 如何在Android應用程序中使用默認相機功能打開相機?
- 18. HTML5打開iPhone或Android手機相機
- 19. 如何在尺寸內打開相機?
- 20. android flash在相機運行時使用按鈕打開/關閉
- 21. Android,如何使用相機
- 22. 如何在Symbian上使用Qt Mobility打開相機手電筒
- 23. 使用android通過USB從打印機獲取打印
- 24. 在android中使用相機
- 25. 如何在相同的視圖中打開相機
- 26. 如何從iPhone中的本機應用程序打開相機?
- 27. 相機無法在Android應用程序中打開
- 28. 打開相機在iPhone
- 29. 使用vlc從相機打開rtsp流
- 30. OpenCV無法使用Qt打開相機
相關:https://stackoverflow.com/q/41560464/295004 –