gpt4 book ai didi

java - 使用 JLayer 调整音量

转载 作者:行者123 更新时间:2023-12-02 08:31:54 34 4
gpt4 key购买 nike

我和一个 friend 正在将 MP3 播放器编程作为学校项目。我们即将完成,现在陷入了尝试编写一个函数来改变播放器音量的阶段。我们正在使用:

  • 音频设备
  • 高级玩家

我知道其他人已经问过同样的问题,但我没有完全得到解决方案,而且我不想回答这么老的问题,所以我想我只是再问一次。

干杯蒂莫西

最佳答案

最简单的方法是通过 mp3spi 使用 jlayer这基本上意味着您通过 JavaSound 使用 jlayer。然后您可以像在 JavaSound 中一样在线设置增益。

首先,您需要将以下内容添加到类路径中:

  • jl1.0.1.jar
  • mp3spi1.9.5.jar
  • tritonus_share.jar

...所有这些都在 mp3spi 的发行版中(上面链接)。

其次,您需要在播放之前对 AudioInputStream 进行解码。

AudioInputStream audioStream = AudioSystem.getAudioInputStream(file);
AudioFormat baseFormat = audioStream.getFormat();
AudioFormat decodedFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), 16, baseFormat.getChannels(),
baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false);
AudioInputStream audioStream2 = AudioSystem.getAudioInputStream(decodedFormat, audioStream);

然后播放解码后的流:

Clip clip = AudioSystem.getClip();
clip.open(audioStream2);

和 JavaSound API 控件可用:

FloatControl gainControl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
gainControl.setValue(-30.0f);

注意:不要忘记关闭您的资源,我刚刚展示了此问题的要点 - 需要熟悉 JavaSound,read here .

关于java - 使用 JLayer 调整音量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3134167/

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