之前我有个问题:Java读取wav文件 https://stackoverflow.com/questions/5210147/reading-wav-file-in-java
首先,我想用 Java 读取一个 wav 文件并将其字节处理到一个数组中。
其次,我将删除它的沉默(这是另一个问题的主题)。
之后我会将该 wav 文件分成 1 秒的片段(我应该处理该小 wav 文件的标头问题,这是主要问题之一)
我尝试使用 Java 和该 API 读取 wav 文件,这是我上一个问题的答案。然而,使用该 API,我应该对标头执行任何操作,还是 API 本身执行此操作,以及如何使用 Java 将该 wav 文件分成 1 秒的片段。另一个 API 或其他任何东西对我来说也都可以。
您引用的 API 将返回double[]
包含原始 WAV 文件中的样本数据的数组。然后,您所要做的就是创建一堆较小的数组(每个数组长一秒),然后从原始数组中的适当位置复制到每个较小的数组中(以便将所有原始数据复制到较小的数组中)。然后只需使用 API 的写入方法从每个较小的数组创建实际的 WAV 文件。
使用该 API 意味着您不必自己担心标头(这是一件好事,因为它们很容易编写,但可能读起来非常复杂)。
每个较小数组的大小取决于原始数组的格式。如果原始 WAV 文件是单声道且采样率为 44.1 KHz,则 1 秒数组将包含 44,100 个元素。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)