Java 中的音量控制(增大或减小)

2022-09-01 20:08:57

如何使用 Java 增加传出 wav 音频流的音量?我在使用各种Java TTS引擎和合成语音的输出音量时遇到问题。是否有 API 调用或 doo-hickey.jar我可以用来提高音量?


答案 1

如果您使用的是 Java 声音 API,则可以使用MASTER_GAIN控件设置音量。

import javax.sound.sampled.*;

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(-10.0f); // Reduce volume by 10 decibels.
clip.start();

答案 2

您可以使用增益控制来调节音量,在打开线路后尝试类似的东西

FloatControl volume= (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN); 

推荐