如何使用Java将wav文件拆分为更小的块?

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

是否可以在Java中执行此操作? 你能告诉我一个我能用它实现的API吗?

谢谢,Snehal

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

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

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

我认为这样做是一种更好的学习体验,而不是总是依赖于库。

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