簡體   English   中英

如何在 Android 中以編程方式(無布局)獲取 camera2 預覽幀?

[英]How to get camera2 preview frames programmatically(without layout) in Android?

我創建了一個前台服務,目的是從 camera2 預覽中獲取幀而不向用戶顯示布局。 當我在布局中創建一個 Textureview 並使用它時,一切正常,我可以通過調用 TextureView 的 getBitmap(int width, int height) 來獲取幀。 我已經保存了框架,我知道它工作正常。 這是我的代碼:

textureView = mainActivity.findViewById(R.id.texture_view);
surfaceTexture = textureView.getSurfaceTexture();
surface = new Surface(surfaceTexture);

但是我需要我的代碼在沒有布局的情況下工作。 我已經以編程方式創建了一個 TextureView,但是當我運行它並保存幀時,它們是空白的。 這是我運行的代碼,無需布局即可運行:

textureView = new TextureView(context);
textureView.setSurfaceTexture(new SurfaceTexture(100));
surfaceTexture = textureView.getSurfaceTexture();
surface = new Surface(surfaceTexture);

僅供參考,我在工作線程上運行我的代碼。 我也試過使用這些對象的監聽器,但沒有成功。 誰能指出我正確的方向?

我不認為你可以避免使用表面。 但也許你可以通過布局高度和寬度 0dp 動態膨脹它來逃避。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM