2010-07-12 57 views
0

我想要更改音頻文件的音量 並使用java.sound.sampled保存新文件。更改音頻文件的音量並使用java.sound.sampled保存文件

我試圖使用調音臺從給定的文件創建源代碼行 ,並將目標行創建爲新文件。 這樣我就可以改變調音臺設置來改變音量。 但聲音正在播放到系統揚聲器。 我的思路是否正確? 有沒有其他的方法來記錄一行文件?

代碼可用here 我得到的解決方案是www.jsresources.org/examples/AmplitudeConverter.html。 但是可以在不使用外部庫的情況下在java.sound.sampled 內完成同樣的工作。

回答

0

要更改音量,如果不使用「控制」(請參閱​​Java Sound Tutorials),可以選擇直接修改樣本本身。

在你最內層的循環中,將最裏面的緩衝區中的字節轉換成一個樣本(如果它是WAV 16位編碼,那麼你需要把這兩個字節放在一起做出單一的SHORT值),然後將該值通過範圍從0到1的浮點數,其中0是最安靜的,1是全音量的聲音。然後將結果分解成兩個字節並傳遞給它。

你需要這樣的代碼嗎?在這裏有幾個其他的帖子,其中人們從字節轉換爲INT或Float並返回。

嗯。這個問題很古老。好吧,也許我的回答會幫助新人遇到同樣的問題。