java 播放声音

最近一个课程设计,做个java应用程序,模拟手机打电话。为了让效果更好,想为按键加上音效、拨打电话有铃声。

于是乎,做了些功课,参照有关jdk,写了个类

MusicPaly myMusicPlay = new MusicPlay(getClass().getResource("/music/button.wav"));
myMusicPlay.start();//播放一次
myMusicPlay .stop();//停止
myMusicPlay .continuousStart();//循环播放
myMusicPlay .continuousStop();//停止

// 文件名:MuiscPlay.java import java.io.*; import java.net.URL; import sun.audio.*; /** * * @author wuhuiwen * 播放音频文件,产生音效 */ public class MusicPlay { private AudioStream as; //单次播放声音用 ContinuousAudioDataStream cas;//循环播放声音 // 构造函数 public MusicPlay(URL url) { try { //打开一个声音文件流作为输入 as = new AudioStream (url.openStream()); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } // 一次播放 开始 public void start() { if( as==null ){ System.out.println("AudioStream object is not created!"); return; }else{ AudioPlayer.player.start (as); } } // 一次播放 停止 public void stop() { if( as==null ){ System.out.println("AudioStream object is not created!"); return; }else{ AudioPlayer.player.stop(as); } } // 循环播放 开始 public void continuousStart() { // Create AudioData source. AudioData data = null; try { data = as.getData(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } // Create ContinuousAudioDataStream. cas = new ContinuousAudioDataStream (data); // Play audio. AudioPlayer.player.start(cas); } // 循环播放 停止 public void continuousStop() { if(cas != null) { AudioPlayer.player.stop (cas); } } }

欢迎拍砖

你可能感兴趣的:(java,object,null,url,import,电话)