簡體   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