当我通过AudioInputStream读取数据时,是否需要关心big endian和little endian?

时间:2013-01-02 04:41:15

标签: java audio bytearray endianness javasound

我正在通过AudioInputStream将一个wav文件读入一个字节数组

    AudioInputStream audiofile = AudioSystem.getAudioInputStream(f);
    byte[] audio=new byte[numberofframes*framesize];
    int bytes=audiofile.read(audio);

我是否需要安排样本的字节,考虑到数据是以little endian排列还是AudioInputStream为我做的?

1 个答案:

答案 0 :(得分:1)

如果数据以多于一个字节编码,例如比特深度为16或更多,则无论通道数如何,大端与小端都很重要。 Java不会按默认顺序自动排列PCM字节,它只接受它们。

以下是java音频教程中最清晰,写得最好的单个部分,imho,并涵盖了与格式及其转换有关的问题:

http://docs.oracle.com/javase/tutorial/sound/converters.html