我需要在 Android 应用程序中实现一项功能,如果设备支持,我需要录制至少 120fps 的慢动作视频。现在我在 camera2 存储库中找到了慢动作视频录制的慢动作示例:
https://github.com/android/camera-samples/tree/main/Camera2SlowMotion
这是我发现的问题:我无法在 Android 11 设备上运行该应用程序,但不知何故在 Android 10 上它确实可以工作(至少在 pocophone f1 上)。
我无法弄清楚为什么相机无法在 Android 11 设备上加载(在小米米 10 手机上测试),我只知道在此方法调用后它会失败:
session.setRepeatingBurst(previewRequestList, null, cameraHandler)
在initializeCamera()
方法调用内部。
我做的下一件事是为两部手机运行错误报告,我发现在 Android 11 设备上,日志中弹出了这个:
I CameraManagerGlobal: Connecting to camera service
W ServiceManager: Permission failure: android.permission.CAMERA_OPEN_CLOSE_LISTENER from uid=10224 pid=13211,
但在 Android 10 上,它成功加载了摄像头:
I CameraManagerGlobal: Connecting to camera service
D CAM_Camera2CompatAdapterCommon: All available camera ids: [0, 1, 2, 3, 4, 5]
D CAM_Camera2CompatAdapterCommon: ====================================================================
D CAM_Camera2CompatAdapterCommon: BACK: [main, aux, sat, bokeh, virtual, infrared] = [0, 2, 3, 4, -1, -1]
D CAM_Camera2CompatAdapterCommon: FRONT: [main, aux, sat, bokeh, virtual, infrared] = [1, 5, -1, -1, -1, -1]
D CAM_Camera2CompatAdapterCommon: ====================================================================
D CAM_Camera2CompatAdapterCommon: X: init()
顺便说一下,会话对象的类型是 CameraConstrainedHighSpeedCaptureSession。
如果有人对如何解决此问题有意见,请分享您的答案。