我想将相机捕获的字节 [] 数据(帧)传递给 JNI 部分。我需要一次通过一些帧,所以我在考虑是否可以创建一个 byte[][] 来存储 byte[] 以便我可以从 JNI 取回 byte[]。可能吗?我知道这getByteArrayElement()
可能会有所帮助。有谁知道如何实现它?
其实我之前也试过用queue来达到传递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 应用程序开发非常陌生。谁能给我一些建议?我只想知道这是否是一种可能的方法。