2010-07-12 147 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并返回。

嗯。这个问题很古老。好吧,也许我的回答会帮助新人遇到同样的问题。