我已经连接了一个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. 如何在iOS中使用相框打开相机
- 3. 在android中打开默认相机?
- 4. 在Android中打开相机闪光LED?
- 5. 在Android中使用相机应用程序后打开DialogFragment
- 6. 从android webView打开相机
- 7. 如何打开photosphere相机?
- 8. 如何以编程方式在Food Mode中打开Android相机?
- 9. 如何获取已在android中打开的相机对象?
- 10. 如何使用AssetsLibrary.framework在iphone sdk中打开自定义相机?
- 11. HTML5打开iPhone或Android手机相机
- 12. 如何在Android应用程序中使用默认相机功能打开相机?
- 13. Android,如何使用相机
- 14. 如何在相同的视图中打开相机
- 15. 如何从iPhone中的本机应用程序打开相机?
- 16. Android InstantApp无法打开相机
- 17. Imageview打开相机
- 18. 如何从标签栏打开相机?
- 19. Android无法打开相机。错误:相机新cameraInitNormal:0
- 20. 在框架中打开iPhone相机
- 21. Android手机usb
- 22. 相机和音乐无法在Android Pixel中打开
- 23. 打开相机错误可以在android中解决吗?
- 24. 在android中打开相机预览时添加效果
- 25. 如何在打开相机意图时防止android应用定位
- 26. 打开Android手机
- 27. Android:使用USB转LPT适配器与打印机通信
- 28. 如何使用手机在Android手机上显示相机
- 29. 如何仅在一个片段中打开相机
- 30. 如何在Xcode中打开全屏相机
相关:https://stackoverflow.com/q/41560464/295004 –