?? audioplayer.java
字號:
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.applet.*;
import javax.swing.event.*;
/**
* Description:
* <br/>Copyright (C), 2005-2008, Yeeku.H.Lee
* <br/>This program is protected by copyright laws.
* <br/>Program Name:
* <br/>Date:
* @author Yeeku.H.Lee kongyeeku@163.com
* @version 1.0
*/
public class AudioPlayer extends JApplet
{
//定義一個音頻對象
AudioClip audioClip;
JList audioList;
//定義三個按鈕
JButton buttonPlay;
JButton buttonLoop;
JButton buttonStop;
public void init()
{
java.util.ArrayList<String> musicList = new java.util.ArrayList<String>();
int i = 1;
//采用循環(huán)加載該Applet的所有參數(shù)
while(true)
{
String musicName = getParameter(i++ + "");
if (musicName == null)
{
break;
}
else
{
musicList.add(musicName);
}
}
String[] musicNames = new String[musicList.size()];
musicNames = musicList.toArray(musicNames);
audioList = new JList(musicNames);
//默認加載第一首音樂
audioClip = getAudioClip(getCodeBase() , "music/" + musicNames[0] + ".mid");
buttonPlay = new JButton("開始播放");
buttonLoop = new JButton("循環(huán)播放");
buttonStop = new JButton("停止播放");
//為三個按鈕和audioList添加事件監(jiān)聽器
buttonPlay.addActionListener(new PlayListener());
buttonLoop.addActionListener(new PlayListener());
buttonStop.addActionListener(new PlayListener());
audioList.addMouseListener(new ChangeMusicListener());
audioList.setPreferredSize(new Dimension(240 , 400));
add(new JScrollPane(audioList));
JPanel jp = new JPanel();
jp.add(buttonPlay);
jp.add(buttonLoop);
jp.add(buttonStop);
add(jp , BorderLayout.SOUTH);
}
//定義用于三個按鈕的監(jiān)聽器
class PlayListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
//根據(jù)按鈕來決定對音頻文件播放、暫停和循環(huán)播放
if (e.getSource() == buttonPlay)
{
if (audioClip != null)
{
audioClip.stop();
}
audioClip = getSelectedAudioClip();
audioClip.play();
}
else if(e.getSource() == buttonLoop)
{
if (audioClip != null)
{
audioClip.stop();
}
audioClip = getSelectedAudioClip();
audioClip.loop();
}
else if (e.getSource() == buttonStop)
{
audioClip.stop();
}
}
}
//實現(xiàn)JList上的鼠標動作監(jiān)聽器
class ChangeMusicListener extends MouseAdapter
{
public void mouseClicked(MouseEvent e)
{
if (e.getClickCount() >= 2)
{
if (audioClip != null)
{
audioClip.stop();
}
audioClip = getSelectedAudioClip();
audioClip.play();
}
}
}
//返回JList中當前選中項對應的音頻對象
private AudioClip getSelectedAudioClip()
{
String selected = audioList.getSelectedValue().toString();
//返回以當前選中項創(chuàng)建的音頻對象
return getAudioClip(getCodeBase() , "music/"
+ selected + ".mid");
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -