我想使用 onPreviewFrame 将预定义数量的帧保存到缓冲区中,然后将它们保存为 png 的。
有很多关于如何一次性完成整个捕获和保存的示例,但我只需要进行缓冲,假设首先是 3 个连续帧。也许我可以创建一个字节对象数组?我是java新手,所以欢迎任何建议。
最佳答案
如果内存不足,您必须限制数组大小
private ArrayList<byte[]> queue = new ArrayList<byte[]>(3);
private Camera.PreviewCallback mPreviewCallback = new Camera.PreviewCallback() {
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
// TODO Auto-generated method stub
if (queue.size() == 3) {
queue.remove(0);
}
queue.add(data);
}
};
关于java - 安卓相机: Save preview frames to buffer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17851141/