我已经搜索并阅读了另一个主题,但我仍然无法解决我的问题。我有一个java主类和一个java jframe。我想在我的mp3播放器中添加jslider来改变音量。我该怎么办?
my_player2_func
类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?}发布于 2012-08-24 10:40:27
JLayer是一个解码器。根据它的定义,它对音量一无所知,这是播放声音的音频硬件的工作。
您的问题源于这样一个事实,即您使用的是player和defaul JavaSoundAudioDevice类,这些类的意思是如何播放一个MP3,而不是作为一个成熟的音频播放器的构建块。
您必须复制或修改JavaSoundAudioDevice的源代码( JLayer源代码的一部分),并对其进行黑客攻击以支持卷控制。你可以控制音量。
https://stackoverflow.com/questions/12103624
复制相似问题