如何在Java中呈现波形

时间:2009-09-02 20:48:42

标签: java graph drawing plot waveform

我有这个用java执行录制的小代码。我想添加一些功能来绘制这个的视觉呈现。你怎么建议我接近这个? (我对java很新)

我希望视觉呈现显示为当前现有图像的前景。

2 个答案:

答案 0 :(得分:1)

从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;
}

每个频道一个值。这将为您提供介于-1和1之间的数字,您可以在图表上绘制。我相信别人会帮我画画。

答案 1 :(得分:0)

您可以使用Java Sound API(AudioSystem,AudioInputStream,AudioFormat)执行此操作。 API允许您逐字节读取.wav文件,您还可以从AudioFormat对象获取比特率,vbr,质量信息。然后,您可以使用AWT,Swing或任何您喜欢的方式绘制此信息。