有人可以告诉我如何读取音频文件,将其存储在字节数组中并继续显示其波形吗?我对Java的了解非常基础。如果有人可以将我链接到Java音频编程的学习材料,那就太棒了。
答案 0 :(得分:6)
您需要了解有关脉冲编码调制的一些基础知识,因为波形是以数字方式表示为离散字节/值。大多数波形格式只是一些标题/元数据,然后是脉冲代码流。
以下是数字采样和脉冲编码调制的入门读物:
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轴上的振幅)
答案 1 :(得分:2)