谁能告诉我如何我可以读取音频文件,其存储在一个字节数组,继续显示其波形? 我的Java知识是非常基本的。 如果任何人都可以联系我学习材料Java的音频节目将是巨大的。
Answer 1:
无论您的问题一直这么回答的。 看到我这些问题的答案:
音频和Java基础:
我怎样才能在Java中创建一个声音文件
绘制的波形和波形概述:
我怎样才能从我的wav文件得出可靠的数据?
Answer 2:
您将需要了解脉冲编码调制的一些基础知识,因为这是波如何数字表示为离散字节/值。 最波形格式只是一些报头/元数据,然后的脉冲码流。
这里是关于数字采样和脉冲编码调制的引物:
http://www.speakingcode.com/2011/12/31/primer-on-digital-audio-and-pulse-code-modulation-pcm/
在此之后,它是相对简单的。 加载文件时,通过元数据读取,让你知道的采样率,比特深度等,然后基本上建立与PCM值的数组。一般的java文件中所描述的阅读技巧将罚款为此,这样的Java教程,很多页面上线,并在堆栈溢出几个相关的问题。
http://docs.oracle.com/javase/tutorial/essential/io/
一旦你有你的阵列,你的价值观有效地代表在那个时间点的波的振幅位置......这些扩展的价值观和转化为图像 - 有这么多的方式来做到这一点,它真的只是取决于你。 有些事情要考虑的是你关心的时间轴,或波形的只是形状? 如果你只关心形状,它更容易,因为你并不需要在x轴上适当标记时间和规模(假设你按照时间在X轴和Y轴幅度的标准)
文章来源: Reading an audiofile and displaying the waveform with Java.