绘制/绘制Wav文件java

Mit*_*chb 6 java

我是相当新的java ...我想绘制频率/时间图或来自wav文件的样本图像.首先,我正在努力从使用AudioInputStream的Wav文件中获取原始数据数组,这也是从Java中的Reading wav文件引用的.我也尝试了WavFile类,参考http://www.labbookpages.co.uk/audio/javaWavFiles.html,但在测试时,我无法找到正确的软件包来满足"WavFile" - "找不到符号"错误.提供的import java.io.*; 对于那个样本不满足这个......

重申我希望获得Wav文件的数组格式的原始数据.

我会喜欢这方面的任何一个小例子,因为我从例子中学到的更容易!谢谢你的时间

Edg*_*uay 3

从 wav 文件(头)中跳过前 44 个字节,然后使用以下函数读取数据:

private static double readLEShort(RandomAccessFile f) {
try {
    byte b1 = (byte) f.read();
    byte b2 = (byte) f.read();
    return (double) (b2 << 8 | b1 & 0xFF) / 32767.0;
} catch (IOException e) {
    e.printStackTrace();
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)

每个通道一个值。这将为您提供 -1 到 1 之间的数字,您可以将其绘制在图表上。我希望这可能有效