gpt4 book ai didi

java - 将更改的剪辑保存到文件中

转载 作者:行者123 更新时间:2023-12-02 05:14:37 24 4
gpt4 key购买 nike

如何保存打开的音频文件并更改音量?

我尝试这样做:

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("some_file.wav"));

Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
FloatControl gainControl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);

gainControl.setValue(-30.0f); // Reduce volume by 10 decibels.
File file = new File("new.wav");
AudioSystem.write(audioInputStream, AudioFileFormat.Type.WAVE, file);

但是这是保存一个空文件。

最佳答案

我认为最好的选择是从 AudioInputStream 中获取字节并将其转换为 PCM 值,然后将 PCM 值乘以与 -10 db 匹配的因子。我不知道那个因素是什么。然后转换回字节并写入。

教程中的第一个代码示例 Using Files and Format Converters显示了将发生转换的 while 循环,注释为:“//Here, do some有用的音频...”

之前关于音频轨迹的教程:“使用控件处理音频”也可能会有所帮助,但内置控件是有限的并且依赖于主机和操作系统。例如,如果您想更改音量(淡入或淡出),由于粒度与音频缓冲区的大小相关,控制线可能无法很好地工作。因此,我推荐“使用控件处理音频”教程的最后几段的建议,即“直接操作音频数据”部分。

关于java - 将更改的剪辑保存到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56305761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com