Android相机a2高速捕捉



好的,我正在尝试在Android手机上实现高速捕获。关于如何做这件事的信息非常少。有一些谷歌的例子是无用的,因为频繁的API变化,他们不再编译了(无论如何-需要一个荒谬的膨胀量-为什么我需要破坏gradle构建系统的导航库,如果我需要做的只是捕获视频?!)有一个中文教程提到了一个叫做GeekCamera2的应用程序,这是非常有前途的,但是当我找到并下载了GeekCamera2的源代码时,所有与高速捕获有关的东西都被注释掉了。我有一段代码,可以做正常的捕获,但只要我尝试使用createHighSpeedRequestListsetRepeatingBurst的代码,它似乎不做任何事情,记录会话几乎立即停止。

更新-谷歌自己的Camera2高速捕捉从这里:https://github.com/android/camera-samples/tree/main/Camera2SlowMotion只适用于三星S10,不适用于任何新设备我有(所有设备的高速捕捉)

E/CameraManagerGlobal: Camera 4 is not available. Ignore physical camera status change
E/CameraManagerGlobal: Camera 5 is not available. Ignore physical camera status change
E/CameraFragment: Camera 0 error: (4) Fatal (device)
java.lang.RuntimeException: Camera 0 error: (4) Fatal (device)
at com.example.android.camera2.slowmo.fragments.CameraFragment$openCamera$2$1.onError(CameraFragment.kt:405)
at android.hardware.camera2.impl.CameraDeviceImpl.notifyError(CameraDeviceImpl.java:1893)
at android.hardware.camera2.impl.CameraDeviceImpl.$r8$lambda$KBQCqQRdhVVn7uHI9Xdha6OqnsU(Unknown Source:0)
at android.hardware.camera2.impl.CameraDeviceImpl$$ExternalSyntheticLambda0.accept(Unknown Source:8)
at com.android.internal.util.function.pooled.PooledLambdaImpl.doInvoke(PooledLambdaImpl.java:281)
at com.android.internal.util.function.pooled.PooledLambdaImpl.invoke(PooledLambdaImpl.java:204)
at com.android.internal.util.function.pooled.OmniFunction.run(OmniFunction.java:97)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:241)
at android.os.Looper.loop(Looper.java:358)
at android.os.HandlerThread.run(HandlerThread.java:67)
E/CameraCaptureSession: Session 0: Exception while stopping repeating:
android.hardware.camera2.CameraAccessException: CAMERA_ERROR (3): The camera device has encountered a serious error
at android.hardware.camera2.impl.CameraDeviceImpl.checkIfCameraClosedOrInError(CameraDeviceImpl.java:2510)
at android.hardware.camera2.impl.CameraDeviceImpl.stopRepeating(CameraDeviceImpl.java:1377)
at android.hardware.camera2.impl.CameraCaptureSessionImpl.close(CameraCaptureSessionImpl.java:596)
at android.hardware.camera2.impl.CameraCaptureSessionImpl$2.onDisconnected(CameraCaptureSessionImpl.java:808)
at android.hardware.camera2.impl.CameraDeviceImpl$7.run(CameraDeviceImpl.java:284)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:241)
at android.os.Looper.loop(Looper.java:358)
at android.os.HandlerThread.run(HandlerThread.java:67)

那么-有没有人能够在2022/2023年使用这个API ?

您只是想做有两个输出的基本情况:

  1. 预览显示(30fps)
  2. 高速视频录制到磁盘(120/240fps)

如果是这样,可以参考Android的官方兼容性测试,该测试旨在验证该功能在支持该功能的设备上是否有效:

https://cs.android.com/android/platform/superproject/+/主:cts/测试/相机/src/android/硬件/camera2/cts/RecordingTest.java;刚果民主共和国= 409 e62101c9c22c18547efabffebe47a9e9adc5c; l = 1174

最新更新