【发布时间】:2009-09-02 20:48:42
【问题描述】:
我有这个用 java 执行录制的小代码。我希望添加某种功能来对此进行视觉呈现。你会建议我如何处理这个问题? (我对java很陌生)
我希望视觉呈现显示为当前现有图像的前景。
【问题讨论】:
-
我添加了一些标签,这可能有助于让这个问题变得更好。
标签: java graph drawing plot waveform
我有这个用 java 执行录制的小代码。我希望添加某种功能来对此进行视觉呈现。你会建议我如何处理这个问题? (我对java很陌生)
我希望视觉呈现显示为当前现有图像的前景。
【问题讨论】:
标签: java graph drawing plot waveform
跳过 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 之间的数字,您可以在图表上绘制该数字。我相信其他人会帮助绘制它。
【讨论】:
您也许可以使用 Java 声音 API(AudioSystem、AudioInputStream、AudioFormat)来做到这一点。该 API 让您可以逐字节读取 .wav 文件,还可以从 AudioFormat 对象获取比特率、vbr、质量信息。然后,您可以使用 AWT、Swing 或任何您喜欢的工具绘制此信息。
【讨论】: