我正在开发一个录音系统。如何从java中的输入流制作数组short []
问问题
2079 次
2 回答
3
首先,用于InputStream.read(byte[] buffer)
将数据存储到字节数组中。然后使用类似这样的东西将其转换为 SHORT[]。
byte[] bBuffer; // your buffer containing your byte[] data
short[] sBuffer;
ByteBuffer.wrap(bBuffer).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().get(sBuffer);
虽然除非你真的需要一个短 [],否则我会动态使用字节进行处理,因此它更加优化。
换一种方式,您可以只使用ByteBufferput()
的短缓冲区表示。所以,像:
byte[] bBuffer;
short[] sBuffer; // your buffer containing your byte[] data
yourByteBuffer.asShortBuffer().put(sBuffer);
于 2013-05-29T04:02:35.957 回答
0
好吧...如果您只想从 InputStream 中读取并将其存储在 byte[] 变量中,则只需使用 InputStream 的 read 方法:
InputStream inputStream;
byte[] bytes;
...
inputStream.read(bytes);
但是,正如您所说,您正在研究音频记录系统,我建议您查看AudioRecord Class。您可以轻松地使用它来录制声音和读取数据。
于 2013-05-29T04:03:20.120 回答