毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

连连看java程序 第9页

更新时间:2008-11-30:  来源:毕业论文

连连看java程序 第9页
package kyodai;

import java.io.*;
import javax.sound.sampled.*;
import java.net.*;

/**
 * 控制音乐特效
 */
public class Sound implements Runnable {

 String currentName;
 Object currentSound;
 Thread thread;
 String[] filename = {
  "sound/select.wav", "sound/earse.wav", "sound/bomb.wav",
  "sound/refresh.wav", "sound/hint.wav"};

 public static int SELECT = 0;
 public static int EARSE = 1;
 public static int BOMB = 2;
 public static int REFRESH = 3;
 public static int HINT = 4;

 public Sound(int sound) {
  if (sound < 0 || sound > 4) {
   return;
  }

  URLClassLoader urlLoader = (URLClassLoader)this.getClass().getClassLoader();
  URL url = urlLoader.findResource(filename[sound]);

  try {
   currentSound = AudioSystem.getAudioInputStream(url);
  }
  catch (Exception ex1) {
   currentSound = null;
   return;
  }

  if (currentSound instanceof AudioInputStream) {
   try {
    AudioInputStream stream = (AudioInputStream) currentSound;
    AudioFormat format = stream.getFormat();

    DataLine.Info info = new DataLine.Info(
     Clip.class,stream.getFormat(),
     ( (int) stream.getFrameLength() *
      format.getFrameSize()));

    Clip clip = (Clip) AudioSystem.getLine(info);
    clip.open(stream);
    currentSound = clip;
   }
   catch (Exception ex) {
    currentSound = null;
    return;
   }
  }

  if (currentSound != null) {
   start();
  }
 }

 public void playSound() {
  if (currentSound instanceof Clip) {
   Clip clip = (Clip) currentSound;
   clip.start();
   try {
    thread.sleep(999);
   }
   catch (Exception e) {
   }
   while (clip.isActive() && thread != null) {
    try {
     thread.sleep(99);
    }
    catch (Exception e) {
     break;
    }
   }

   clip.stop();
   clip.close();
  }
  currentSound = null;
 }

 public void start() {
  thread = new Thread(this);
  thread.start();
 }

 public void run() {
  playSound();
  stop();
 }

 public void stop() {
  if (thread != null) {
   thread.interrupt();
  }
  thread = null;
 }
}

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

连连看java程序 第9页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。