import java.applet.*;
import java.awt.event.*;
import java.awt.*;
/**
* <p>Title: Applet播放聲音文件</p>
* <p>Description: 使用AudioClip類加載聲音文件,並當鼠標點擊後開始播放</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Filename: PlayAudio.java</p>
* @version 1.0
*/
public class PlayAudio extends Applet
implements ActionListener{
AudioClip audio;
Button btExit,btOpen,btPlay,btLoop,btStop;
/**
*<br>方法說明:初始化Applet
*<br>輸入參數:
*<br>返回類型:
*/
public void init() {
//加載聲音文件
audio = getAudioClip(getDocumentBase(),"img/1.mid");
//構造按鈕
setLayout(new FlowLayout()); //使用布局管理器
btPlay=new Button("Play"); //定義Play按鈕
btPlay.addActionListener(this); //給Play按鈕添加一個監聽事件
btLoop=new Button("Loop"); //定義Play按鈕
btLoop.addActionListener(this); //給Play按鈕添加一個監聽事件
btStop=new Button("Stop"); //定義Play按鈕
btStop.addActionListener(this); //給Play按鈕添加一個監聽事件
//將按鈕添加到Applet中
add(btPlay);
add(btLoop);
add(btStop);
}
public void actionPerformed(ActionEvent e) {
//如果點擊的是Play按鈕
if (e.getSource()==btPlay) {
play();
}
//如果點擊的是loop按鈕
if (e.getSource()==btLoop) {
loop();
}
//如果點擊的是stop按鈕
if (e.getSource()==btStop) {
stop();
}
}
/**
*<br>方法說明:播放聲音
*<br>輸入參數:
*<br>返回類型:
*/
public void play(){
if (audio!=null) stop();
audio.play();
}
/**
*<br>方法說明:循環播放聲音
*<br>輸入參數:
*<br>返回類型:
*/
public void loop(){
if (audio!=null)
audio.loop();
}
/**
*<br>方法說明:停止播放聲音
*<br>輸入參數:
*<br>返回類型:
*/
public void stop(){
if (audio!=null)
audio.stop();
}
}