谁能告诉我如何从一个音频文件(.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.