gpt4 book ai didi

Java MP3Player 通过使用 Javazoom 播放和暂停

转载 作者:行者123 更新时间:2023-12-02 07:46:30 24 4
gpt4 key购买 nike

我正在用 Java 制作一个简单的 MP3Player。我已经设法播放 .mp3 文件,但是当我开始播放时,整个程序卡住,并且我无法单击程序中的任何按钮。我需要帮助才能让暂停按钮或任何其他按钮在开始玩后正常工作。这是我的代码:

    import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.InputStream;
import java.net.URL;
import javazoom.jl.player.advanced.AdvancedPlayer;
import javax.swing.*;

public class MP3Player extends JFrame{

public MP3Player(){
JPanel jpBottom = new JPanel();
JButton btnPlay = new JButton("Play");
JButton btnPause = new JButton("Pause");

jpBottom.add(btnPause);
jpBottom.add(btnPlay);

Container cp = this.getContentPane();
BorderLayout bl = new BorderLayout();
cp.setLayout(bl);
cp.add(jpBottom, BorderLayout.SOUTH);

btnPlay.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
Play("file:///C://a.mp3");
}
}
);

this.setVisible(true);
this.setSize(250, 100);
this.setTitle("MP3 Player");
this.setLocation(100, 100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void Play(String path){
try{
URL url = new URL(path);
InputStream in = url.openStream();
//Player pl = new Player(in);
//pl.play();
AdvancedPlayer pl = new AdvancedPlayer(in);

pl.getPlayBackListener();
pl.play();
}
catch(Exception e){
System.out.println("Feil: "+e);
}
}

public static void main(String[] args) {
MP3Player n = new MP3Player();
}
}

最佳答案

您应该在单独的线程中调用 Play() 方法,并对Multithreding in Swing有一个很好的理解。 。至少你应该阅读 SwingUtilities.invokeLater()

关于Java MP3Player 通过使用 Javazoom 播放和暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10765538/

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