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