Java的如何将音频数据存储在一个字节数组。(Java How to store the audio

2019-07-03 12:18发布

谁能告诉我如何从一个音频文件(.AU)读取存储音频数据转换为字节数组? 我看了看甲骨文的Java文档,但我不知道如何使用这些信息来编写程序。

Answer 1:

我被“音频数据”要从AU文件中的音频样本不包括报头信息和元数据的猜测。 如果你只是想将文件的内容加载到内存中,使用一个FileInputStream的建议。

否则,读取样本时,可以使用AudioSystem和的AudioInputStream 。

File myFile = new File("test.au");
byte[] samples;

AudioInputStream is = AudioSystem.getAudioInputStream(myFile);
DataInputStream dis = new DataInputStream(is);      //So we can use readFully()
try
{
    AudioFormat format = is.getFormat();
    samples = new byte[(int)(is.getFrameLength() * format.getFrameSize())];
    dis.readFully(samples);
}
finally
{
    dis.close();
}


文章来源: Java How to store the audio data in a byte array.