在java中。 我有一些文件(* .wav)从我提取byte []的地方。之后,我将此代码转换为double []:
for (int i = 0; i < bytesIn.length && idx < buffer.length; i += 2)
{
byte lowByte = bytesIn[i];
byte highByte = bytesIn[i+1];
//Little endian
buffer[idx++] = (lowByte & 0xFF | highByte << 8);
}
其中bytesIn = byte []的文件 和buffer = double []
在此之后,我对使用快速傅立叶变换和逆的缓冲区进行了一些操作。现在从fft反向操作后我有双[]但我不知道如何回到byte []。
我发现了这个:
byte[] bytes = new byte[8];
ByteBuffer.wrap(bytes).putDouble(value);
但是字节存储的值与我预期的不同。 IFFT与原始数据库相同后更改缓冲区。任何人都可以编写如何从第一个代码块反转代码?