有没有办法用一种波形在Java中可视化音频?
我应该如何开始,我已经设置了一个麦克风选择一个线程,用于将TargetDataLine中的字节读入缓冲区。 但是我现在该怎么办?
任何帮助都将不胜感激。
答案 0 :(得分:2)
如果您使用的是Java Sound API,则您读取的数据为8或16位PCM。如果是8位则可以,否则您可能需要调整endianess。
如果您正在读取8位PCM,则每个字节都是一个样本,那么该字节的值就是声音样本。如果您正在读取16位PCM,则样本将打包为hi,lo,hi,lo
或lo,hi,lo,hi
(其中hi和lo是高位和低位字节),具体取决于字节顺序。在这种情况下,您应该将其转换为短值。
对于绘图,您需要第三方库,例如freechart或jahuwaldt.plot。 (我在实时波形可视化程序中使用后者)。