安卓相机takePicture正在使用预览版的小缓冲区

 2023-01-20    304  

问题描述

我正在使用OpenCV开发一个项目.我在oncameraframe上有一些过程.虽然显示预览,但用户可以拍照.但是在某些设备中,我在称为TakePicture(…)方法后会出错.我应该怎么办?

E/Camera-JNI(11783): Manually set buffer was too small! Expected 539380 bytes, but got 460800!

新症状:此缓冲区的尺寸是我的框架尺寸,460800.我在oncameraframe上记录了框架尺寸.据我所知,每个帧的尺寸均为460800.它们的大小不同.

安卓相机takePicture正在使用预览版的小缓冲区

推荐答案

我解决了我的问题.我将缓冲区大小设置为图片大小.但是,预览开始了荒谬的行为,例如在某些设备上不继续前后预览,…因此,当我按下retake或back按钮时,我关闭并重新启动预览.

其他推荐答案

我解决了这种问题.
似乎在Android 2.2.1上,您必须在调用

之前设置相机参数

camera.startPreview()

但是,在诸如Android 3.2.1之类的后期系统上,这不再是一个问题(但是它可能是供应商的).

以上所述是小编给大家介绍的安卓相机takePicture正在使用预览版的小缓冲区,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/25917.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。