2.構造AudioPlay類--音頻播放wav,注重異常處理
需要注重的是,當播放時,界面上的各個按鈕應當仍然可以對用戶的操作進行事件響應,所以至少需要兩個線程:一個控制歌曲的播放,另外一個對用戶事件進行響應。因此我們的AudioPlay類需要實現Runable接口,以使用多線程技術。根據JDK的解釋-JDK1.4.0,任何需要由線程執行的實例都應當實現Runable接口,而且由于我們只需要重寫run()方法和stop()方法,并給start()方法多態化,所以我們選擇實現Runable接口,這樣就可以不需要繼續Thread類而使用Thread類的實例來運行了。
package myplayer;
import com.sun.media.sound.JavaSoundAudioClip;
import java.io.*;
/**
* <p>Title: 音頻播放器</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author 放飛網
* @version 1.0
*/
public class AudioPlay
implements Runnable {
PRivate JavaSoundAudioClip locate, warning;
protected boolean threadExit;
protected boolean stopped;
protected boolean playing;
Thread playerThread;
public AudioPlay() {
}
public void start(File f) {
playing = true;