我希望将由相机捕获的byte[]数据(帧)传递给JNI部分。我需要一次传递一些帧,所以我在思考是否可以创建一个byte[][]来存储byte[],以便我可以从JNI获取byte[]。这可行吗?我知道
实际上,我曾尝试使用队列来实现传递byte[]的目的,但似乎不可能,因为有些人回答了我。
过去的代码(将byte[]放入arraylist中):
getByteArrayElement()
可能有帮助。有人知道如何实现吗?实际上,我曾尝试使用队列来实现传递byte[]的目的,但似乎不可能,因为有些人回答了我。
过去的代码(将byte[]放入arraylist中):
aCamera.setPreviewCallback(new PreviewCallback(){
public void onPreviewFrame(byte[] data, Camera camera) {
synchronized (TestClass.this){
AFrame = data;
int i = 0;
queue = new ArrayList<byte[]>(definedSize);
if(queue.size()<definedSize){
queue.add(data);
}
else{
queue.remove(0);
}
TestClass.this.notify();
}
}
});
ArrayList在JNI中无法返回,所以这次我在考虑是否可以使用另一个字节数组来实现。
我对使用本地方法开发android应用非常陌生。有人能给我一些建议吗?我只是想知道这是否是可行的方法。
Byte[]
还是byte[]
?如果是前者,为什么?为什么不使用byte
数组? - user207421