繁体   English   中英

更改音频文件的音量并使用java.sound.sampled保存文件

[英]Change the volume of an audio file and save the file using java.sound.sampled

我想更改音频文件的音量并使用java.sound.sampled保存新文件。

我尝试使用混合器从给定的文件创建源行,并在新文件中创建目标行。 这样我就可以更改混音器设置来更改音量。 但是声音正在播放到系统扬声器。 我是否在以正确的方式思考? 还有其他方法可以记录一行中的文件吗?

代码可在此处获得。我得到的解决方案是www.jsresources.org/examples/AmplitudeConverter.html。 但是可以在不使用外部库的情况下在java.sound.sampled中完成相同的操作。

要更改音量,如果不使用“控件”(请参阅​​Java Sound Tutorials),则可以直接修改样本本身。

在最内层循环中,将最内层缓冲区中的字节转换为样本(如果是WAV 16位编码,则需要将两个字节放在一起以形成单个SHORT值),然后将该值乘以一个范围从0到1,其中0是最安静的,1则使声音处于最大音量。 然后将结果分解为两个字节,然后传递。

您需要执行此操作的代码吗? 这里还有其他几篇文章,人们将字节从字节转换为INT或Float并返回。

这个问题很老了。 好吧,也许我的回答会帮助遇到这个问题的新手。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM