我想写一个简单的程序,它接受一个中等大小的wav文件(60秒左右)并将其切割成相同格式的1秒长度段(1.wav,2.wav,...等)。 ..是否有一个简单的C ++或Java库可以做到这一点?我不想操纵标题信息
答案 0 :(得分:2)
Shell脚本包裹在ffmpeg
命令行实用程序周围。另外,sox
。
答案 1 :(得分:1)
您可以使用AudioInputStream类来执行此操作。另请查看this网站以获取有关AudioInputStream
的更多信息答案 2 :(得分:0)
看看libsndfile。另请参阅this其他帖子。 你会想:
sample_rate
个样本,这些样本将代表1秒的音频,并将这些缓冲区打包成新的WAV文件(带标题),直到您达到原始版本的EOF
。HTH
答案 3 :(得分:0)
ffmpeg有两个可能属于我们的标志:-t用于设置目标文件的持续时间,-ss用于设置在输入文件中开始读取的点。
所以:
ffmpeg -t 2 -i input.mp3 output.mp3 ffmpeg -ss 2 -t 2 -i input.mp3 output2.mp3
创建两个文件 - 一个包含input.mp3的前两秒,另一个包含两秒input.mp3,从2秒开始(即第二个两秒......)。
可以实现这一点的组合,以便从文件中获得您想要的内容。