我搜索并阅读了另一个主题,但我仍然无法解决我的问题。我有一个java主类和一个java jframe。我想添加jslider来改变我的mp3播放器的音量。我该怎么办?
my_player2_func
class my_player2_func { 静态播放器播放器;
static void play() {
try {
FileInputStream fe = new FileInputStream(my_player2_main.str);
player = new Player(fe);
} catch (Exception ex) {
System.out.println(ex);
}
new Thread(new Runnable() {
@Override
public void run() {
try {
player.play();
} catch (Exception ex) {
System.out.println(ex);
}
}
}).start();
}
static void stop() {
if (player != null)
player.close();
} }
my_player2_main
public my_player2_main() {
initComponents();
}
static String str;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
my_player2_func.play();
}
private void jSlider1StateChanged(javax.swing.event.ChangeEvent evt) {//what should i do here?}
答案 0 :(得分:0)
JLayer是解码器。根据其定义,它对音量一无所知,这就是播放声音的音频硬件的工作。
你的问题源于你正在使用播放器和默认的JavaSoundAudioDevice类,这些类意味着作为简短的例子如何播放MP3,而不是作为完整成熟音频的构建块播放器。
您必须复制或修改JavaSoundAudioDevice的源代码(JLayer源代码的一部分)并破解它以支持音量控制。你可以控制音量。