我一直在尝试将ByteArrayOutputStream转换为int值。
我正在用麦克风录制音频并将其写入out = new ByteArrayOutputStream()
,如下所示:
out.write(buffer, 0, count);
byte audio[] = out.toByteArray();
当我打印时,我得到这些:[B @ 3456337e
如何将它们转换为整数。
请帮助,谢谢
最佳答案
没有标准的方法,因为它实际上取决于您拥有的字节类型,但是,由于它是音频源,我认为您可以这样做:
IntBuffer intBuf =
ByteBuffer.wrap(byteArray)
.order(ByteOrder.BIG_ENDIAN) //or try ByteOrder.LITTLE_ENDIAN
.asIntBuffer();
int[] array = new int[intBuf.remaining()];
intBuf.get(array);
//The result you want is "array"
希望对您有帮助。