6

我有一个非常大的 WAV 文件,大小约为 100MB。我想使用 Java 来读取这个 wav 文件,并为每 2 秒的音频将它分成更小的块。

在Java中可以做到这一点吗?你能建议我一个我可以实现它的API吗?

提前致谢, 斯内哈尔

4

3 回答 3

4

您可以使用AudioInputStream及其AudioFileFormat成员(其中包含一个AudioFormat实例)来了解要写入的内容(格式、采样率),您可以使用AudioSystem来编写它。

根据格式的采样率,您可以找出 2 秒有多少个音频字节,然后循环从 AudioInputStream 读取那么多字节,将它们写入一个新文件。

于 2009-10-02T06:09:56.860 回答
1

您还可以查找一个非常基本和简单的 wav 文件的规范。然后二进制读取文件,并以较小的位再次保存。

我认为以这种方式而不是总是依赖图书馆是一种更好的学习体验。

于 2009-10-02T07:17:01.950 回答
0

如果您不关心代码的寿命,那么 Quicktime For Java 对媒体来说是一个不错的选择。它在 Windows 和 Mac 上运行,可以读写几乎任何音频(和视频)格式。不利的一面是,Apple 多年来一直不支持它,所以虽然它仍然有效,但你正在投资于一项垂死的技术。

于 2009-10-02T06:56:56.767 回答