【发布时间】:2013-01-17 22:55:49
【问题描述】:
我目前正在学习如何使用 jlgui 构建一个简单的 MP3 播放器(使用 swt 来控制它)。虽然我相处得很好,但有一件事真的让我很震惊,那就是控制从计算机发出的声音的音量和声像。
我有一个类,它创建一个 BasicPlayer 对象和一个与之配套的 BasicController。我曾尝试使用 BasicController.setGain 方法,但如果我在其中输入任何值,它所做的只是将音量设置为静音,而且我似乎无法在歌曲播放期间更改此值。如果有人能在这方面给我一些帮助,我将不胜感激:-(
还考虑尝试以下建议
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("C:\\Kasabian.mp3"));
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
FloatControl gainControl = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
但不太确定如何将它与 jlgui 结合使用。
【问题讨论】:
-
见 1) Can Java Sound be used to control the system volume? 的答案是“否”,我怀疑这也适用于“JLGui”(我以前从未听说过)。 2) This answer 使用带有音量控制的
Clip。
标签: java audio volume javasound