簡體   English   中英

Android相機預覽回調緩沖區未填充:始終為零

[英]Android camera preview callback buffer not filled: is always full of zeros

Camera.PreviewCallback#onPreviewFrame確實被調用時,相機不會填充傳遞的byte[]緩沖區:它始終充滿零。

我使用不推薦使用的API的原因是,使用較新的API時幀率非常低。 由於我的相機被認為是LEGACY ,因此建議嘗試不推薦使用的API。

我的代碼,確實調用了回調,但是緩沖區為空:

camera = Camera.open();
camera.setParameters(configurator.getParameters());
Size size = configurator.getOutputSize();
camera.addCallbackBuffer(new byte[size.getWidth() * size.getHeight() * ImageFormat.getBitsPerPixel(ImageFormat.YV12) / 8]);
camera.setPreviewCallbackWithBuffer(this);
camera.startPreview();

我在日志中看到的一件奇怪的事情是:當我調用camera.setPreviewCallbackWithBuffer(this); ,將顯示以下調試消息: D/Camera-JNI: (tid:3466)[release camera] - X context=0x0
同樣,所有對緩沖區的修改都將被清除:在每次調用回調之前,緩沖區實際上都是用零填充的。

問題是與曝光時間相比光線不足:我將預覽FPS范圍設置為最大,但與房間的照明相比,這導致曝光時間太短。 結果是黑色的圖像,除非我直接將相機對准光源。 將FPS范圍更改為較低的值可以解決我的問題。

暫無
暫無

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

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