0
我想使用onPreviewFrame将预定义数量的帧保存到缓冲区,然后将它们保存为png。Android相机:将预览帧保存到缓冲区?
有很多关于如何一次完成整个捕获和保存的例子,但是我需要做的只是缓冲,比如我们先说3个连续的帧。也许我可以创建一个字节对象数组?我是新来的Java所以任何建议,欢迎。
我想使用onPreviewFrame将预定义数量的帧保存到缓冲区,然后将它们保存为png。Android相机:将预览帧保存到缓冲区?
有很多关于如何一次完成整个捕获和保存的例子,但是我需要做的只是缓冲,比如我们先说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);
}
};
当然,数组的大小会受到限制,以防止内存不足。感谢您的提示,现在就试试 – casper
如果您想要同时在其他线程中转储数据,请不要忘记添加同步(队列){}以覆盖代码块 – yushulx
保存可以在离线后完成将帧捕获到Array中。我仍然必须弄清楚如何做到这一点...... – casper