gpt4 book ai didi

java - Java 中的控制剪辑音量 -> FloatControl Volume 不执行任何操作

转载 作者:行者123 更新时间:2023-12-02 09:10:27 24 4
gpt4 key购买 nike

我正在尝试调整游戏音乐的音量,并且尝试了 FloatControl 音量 = ... 但无论我将其设置为什么值(1.0f 或 0.0f),它的音量都是相同的。有什么想法吗?

public static void playGameSound()
{
try {
AudioInputStream gameSound = AudioSystem.getAudioInputStream(new File("src/res/inGame.wav"));
play = AudioSystem.getClip();
play.open(gameSound);
FloatControl volume = (FloatControl) play.getControl(FloatControl.Type.MASTER_GAIN);
volume.setValue(1.0f);
play.loop(Clip.LOOP_CONTINUOUSLY);
}catch (LineUnavailableException | IOException | UnsupportedAudioFileException e){
e.printStackTrace();
}
}

最佳答案

我对各种音频控制线的经验是,它们依赖于客户端计算机的音响系统,因此工作或不起作用的情况有很多变化。因此,我使用 SourceDataLine 作为输出,并通过将每个声音帧乘以音量系数来控制音量。您可以使用我编写的一个利用此方法的免费库(或检查其代码以编写您自己的代码)。主类名为 AudioCue并以 Clip 为蓝本。

关于java - Java 中的控制剪辑音量 -> FloatControl Volume 不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59463307/

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