gpt4 book ai didi

java - Android相机预览回调缓冲区未填充: is always full of zeros

转载 作者:行者123 更新时间:2023-12-02 10:18:56 24 4
gpt4 key购买 nike

虽然 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章
此外,对缓冲区的所有修改都会被清除:在每次调用回调之前,缓冲区实际上会被填充为零。






最佳答案





问题是与曝光时间相比光线不足:我已将预览 FPS 范围设置为最大,但这导致曝光时间与我房间的照明相比太短。结果是一张漆黑的图像,除非我将相机直接对准光源。将 FPS 范围更改为较低的范围解决了我的问题。








关于java - Android相机预览回调缓冲区未填充: is always full of zeros,我们在Stack Overflow上找到一个类似的问题:

https://stackoverflow.com/questions/54480857/




24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com