Java如何将音频数据存储在字节数组中。

Java如何将音频数据存储在字节数组中。,java,audio,bytearray,Java,Audio,Bytearray,谁能告诉我如何将音频文件(.au)中的音频数据读入字节数组?我看过Oracle上的Java文档,但不知道如何使用这些信息编写程序 根据“音频数据”,我猜您需要AU文件中的音频样本,不包括头信息和元数据。如果您只想将文件内容加载到内存中,请按照建议使用FileInputStream 否则,要阅读示例,可以使用和 使用a.Hello我已经尝试使用上面的代码,但是我一直得到“线程中的异常”main“java.io.FileNotFoundException:auSample.au(系统找不到指定的文件

谁能告诉我如何将音频文件(.au)中的音频数据读入字节数组?我看过Oracle上的Java文档,但不知道如何使用这些信息编写程序

根据“音频数据”,我猜您需要AU文件中的音频样本,不包括头信息和元数据。如果您只想将文件内容加载到内存中,请按照建议使用FileInputStream

否则,要阅读示例,可以使用和


使用a.Hello我已经尝试使用上面的代码,但是我一直得到“线程中的异常”main“java.io.FileNotFoundException:auSample.au(系统找不到指定的文件)”,尽管我的音频文件在正确的文件夹中。这些是我需要对代码所做的更改,还是只是我错误地链接了文件。请尝试在文件名中使用绝对路径。此外,如果文件名是字符串文字,则需要转义文件名中的任何反斜杠。e、 g.
新文件(“c:\\temp\\sample.au”)您好,我确实尝试了绝对路径,但由于某些原因它不起作用。我使用了ClassLoader.getResource();现在它可以工作了。谢谢你的帮助
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();
}