我想編寫一個簡單的程序,它需要一箇中等大小的wav文件(大約60秒左右),並將其剪切成1個相同格式的長度段(1.wav,2.wav, ...等)...是否有一個簡單的C++或Java庫可以做到這一點?我不想操縱標題信息將wav文件分割成片段
1
A
回答
0
看看libsndfile。另見this其他帖子。 您將要:
- 除去WAV頭訪問原始PCM樣本數據
- 遍歷
sample_rate
樣本,這將表示音頻1秒和打包這些緩衝區到一個新的WAV文件(標題)直到你到達原來的EOF
。
HTH
+0
你做了伎倆謝謝 – 2012-03-23 07:40:16
2
Shell腳本纏住ffmpeg
命令行實用程序。另外,sox
。
1
可以使用的AudioInputStream類來做到這一點。另請查看this網站了解更多關於AudioInputStream的信息
0
ffmpeg的有兩個標誌,可能是我們的:-t其設置目標文件的持續時間,以及-ss這臺在您開始讀取輸入文件的位置。
所以:
的ffmpeg -t 2 -i input.mp3 output.mp3 的ffmpeg -ss 2 -t 2 -i input.mp3 output2.mp3
創建兩個文件 - 一個包含了輸入.mp3的前兩秒,以及從2秒開始(即秒後兩秒)內包含兩秒輸入.mp3的輸入。
爲了從文件中得到你想要的東西,可以實現它的組合。
如果您不想操縱標題信息,那麼分散的塊將不能播放。 – Rakesh 2012-03-21 05:05:36
也許perl/python/shell腳本可以輕鬆完成。 – madper 2012-03-21 06:02:33
聽起來像是tcl小吃庫的工作。 – ldav1s 2012-03-21 06:12:10