一个简单的java播放器
来源:互联网 发布:minila mac 编辑:程序博客网 时间:2024/05/17 23:15
import java.applet.*;import java.awt.*;import java.awt.event.*;import java.net.*;import javax.swing.*;import java.io.File;class AudioPlayDemo extends JFrame implements ActionListener { boolean looping = false; File file1 = new File("1.wav"); AudioClip sound1; AudioClip chosenClip; JButton playButton = new JButton("播放"); JButton loopButton = new JButton("循环播放"); JButton stopButton = new JButton("停止"); JLabel status = new JLabel("选择播放文件"); JPanel controlPanel = new JPanel(); Container container = getContentPane(); public AudioPlayDemo() { try { sound1 = Applet.newAudioClip(file1.toURL()); chosenClip = sound1; } catch(OutOfMemoryError e){ System.out.println("内存溢出"); e.printStackTrace(); } catch(Exception e){ e.printStackTrace(); } playButton.addActionListener(this); loopButton.addActionListener(this); stopButton.addActionListener(this); stopButton.setEnabled(false); controlPanel.add(playButton); controlPanel.add(loopButton); controlPanel.add(stopButton); container.add(controlPanel, BorderLayout.CENTER); container.add(status, BorderLayout.SOUTH); setSize(300, 130); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序 try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } }public void actionPerformed(ActionEvent event) { if (chosenClip == null) { status.setText("声音未载入"); return; } Object source = event.getSource(); //获取用户洗涤激活的按钮 if (source == playButton) { stopButton.setEnabled(true); loopButton.setEnabled(true); chosenClip.play(); status.setText("正在播放"); } if (source == loopButton) { looping = true; chosenClip.loop(); loopButton.setEnabled(false); stopButton.setEnabled(true); status.setText("正在循环播放"); } if (source == stopButton) { if (looping) { looping = false; chosenClip.stop(); loopButton.setEnabled(true); } else { chosenClip.stop(); } stopButton.setEnabled(false); status.setText("停止播放"); } } public static void main(String s[]) { new AudioPlayDemo(); } private void jbInit() throws Exception { }}