如何用Java将wav文件分成1秒?

时间:2011-05-12 12:36:47

标签: java wav

之前我有一个问题:Reading wav file in Java

首先,我想用Java读取一个wav文件并将其字节处理成一个数组。

其次,我将删除它的沉默(这是另一个问题的主题)。

之后我会把那个wav文件分成1秒(我应该处理那些小wav文件的头问题,这是主要问题之一)

我尝试使用该API读取带有Java的wav文件,这是我之前的问题的答案。但是,使用该API,我应该为头文件做任何事情,或者自己做API,如何将该wav文件用Java分成1秒。另一个API或其他任何东西对我来说都是可以的。

1 个答案:

答案 0 :(得分:2)

您引用的API将返回一个double[]数组,其中包含原始WAV文件中的示例数据。所有你需要做的就是创建一堆较小的数组(每个长一秒)并从原始数组中的适当位置复制到每个较小的数组中(以便将所有原始数据复制到较小的数组中)。然后只需使用API​​的编写方法从每个较小的数组创建实际的WAV文件。

使用该API意味着您不必自己担心标题(这是一件好事,因为它们很容易编写,但可能很难阅读。)

每个较小阵列的大小取决于原始格式。如果原始WAV文件是单声道,采样率为44.1 KHz,则1秒阵列将包含44,100个元素。