我有一个 UVC 摄像头,想要从我的 Android Pie (Android 9) 代码中访问和抓取帧。
这是我用来枚举连接到 Android 手机的摄像头的代码:
@Override
public void onResume()
{
CameraManager manager =
(CameraManager)getSystemService(CAMERA_SERVICE);
try {
for (String cameraId : manager.getCameraIdList()) {
CameraCharacteristics chars
= manager.getCameraCharacteristics(cameraId);
// Do something with the characteristics
int deviceLevel = chars.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
Log.d(TAG, " **** device ["+cameraId+"] level:"+deviceLevel);
}
} catch(CameraAccessException e){
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我在 Android 9/Pie (Pixel 3) 上跳来跳去,这显示了连接的 USB 摄像头。但是只列出了两个设备,手机的前置和后置摄像头。
这是我的清单文件 (AndroidManifest.xml) 中的功能和权限列表:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" /> …Run Code Online (Sandbox Code Playgroud)