繁体   English   中英

在结构中设置数组

[英]Setting an array within a struct

我试图在Java的Renderscript中设置一个自定义结构内的数组。

这是我的结构:

typedef struct WorldState {
 float time;
 int galaxyRadius;
 float angle;
 int audioData[1024];
} WorldState_t;

这是我尝试设置数组“ audioData”的方法

mScript.get_worldState().set_audioData(0, mAudioData, true);

这是抛出的异常:

E/AndroidRuntime(8373): android.renderscript.RSIllegalArgumentException: Field packer sizelength 4096 does not match component size 4.

我只创建了一个大小为1的ScriptField_WorldState。根据我对set_audioData方法调用的了解,第一个参数需要为0,因为只有1个WorldState元素。 我通过了大小为1024的mAudioData。

我不认为反射的Java层当前以这种方式支持直接数组操作。 由于所有内存分配均由Renderscript的Java端管理,因此建议更改

 int audioData[1024];

 rs_allocation audioData;

要么

 int32_t *audioData;

并以与处理其他分配相同的方式使用audioData 有关如何执行此操作的更多详细信息,请参见此处:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM