繁体   English   中英

如何在不保存的情况下在 Android 工作室中以 bitmap 或 ByteBuffer 的形式访问流式摄像机视频?(Java)

[英]How can I access the streaming camera video as bitmap or ByteBuffer in Android studio without saving it?(Java)

我正在 Java 的 Android 工作室中构建一个应用程序,我想从相机访问实时视频而不保存它并将其作为 ByteBuffer 获取。 任何帮助将不胜感激。

它取决于您使用的 API(CameraX、Camera2)。 如果您使用 Camera2 API,一般流程为:

  1. 打开相机:
val manager = getSystemService(CAMERA_SERVICE) as CameraManager
manager.openCamera(cameraId, cameraStateCallback, cameraHandler)
  1. 等待相机打开:
private val cameraStateCallback: CameraDevice.StateCallback = object : CameraDevice.StateCallback() {
    override fun onOpened(cameraDevice: CameraDevice) {
        //Start a capture session
    }

    override fun onDisconnected(cameraDevice: CameraDevice) {
        cameraOpenCloseLock.release()
        cameraDevice.close()
    }

    override fun onError(cameraDevice: CameraDevice, error: Int) {
        cameraOpenCloseLock.release()
        cameraDevice.close()
    }
}
  1. 然后启动一个捕获session,并使用ImageReader接收图像。

您可以查看此项目以获取整个流程的小型基本工作示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM