【发布时间】:2012-08-09 10:49:31
【问题描述】:
我在一个 Android 项目中使用 JNI 代码,其中 JNI 原生函数需要一个 short[] 参数。但是,原始数据存储为 ByteBuffer。我正在尝试转换数据格式如下。
ByteBuffer rgbBuf = ByteBuffer.allocate(size);
...
short[] shortArray = (short[]) rgbBuf.asShortBuffer().array().clone();
但是我在运行上面显示的第二行代码时遇到了以下问题:
E/AndroidRuntime(23923): Caused by: java.lang.UnsupportedOperationException
E/AndroidRuntime(23923): at Java.nio.ShortToByteBufferAdapter.protectedArray(ShortToByteBufferAdapter.java:169)
谁能建议一种实现转换的方法?
【问题讨论】:
标签: android bytebuffer