我有一个非常庞大的WAV文件,大小约为100MB。我想使用Java来读取这个wav文件,并将其分成每2秒音频的较小块。
是否可以在Java中执行此操作?你能告诉我一个我可以实现它的API吗?
提前致谢, Snehal
答案 0 :(得分:4)
您可以使用AudioInputStream及其AudioFileFormat成员(其中包含AudioFormat个实例)来了解要写的内容(格式,采样率),您可以使用AudioSystem写它。
根据格式的采样率,您可以找出音频的字节数是2秒,然后继续从AudioInputStream读取多个字节的循环,将它们写入新文件。
答案 1 :(得分:1)
您还可以查找specification for a wav file,这非常简单。 然后二进制读取文件,并以较小的位再次保存。
我认为这样做是一种更好的学习体验,而不是总是依赖于图书馆。
答案 2 :(得分:0)
如果您不关心代码的使用寿命,那么Quicktime For Java对媒体来说是一个不错的选择。它可以在Windows和Mac上运行,几乎可以读写任何音频(和视频)格式。缺点是苹果多年来一直不支持它,所以虽然它仍然有效,但你正在投资一种垂死的技术。