我目前正在学习如何使用 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 结合使用。