日期:2014-05-20  浏览次数:20822 次

求助:关于JAVA应用程序中引入声音的问题
为什么用JAVA引入声音后,用按钮触发,第一次正常,再次按按钮就没有声音了? 引入声音的源代码如下:
  import java.io.FileInputStream;
import sun.audio.AudioPlayer;
import sun.audio.AudioStream;

public class Voice {
 AudioStream start;

 AudioStream end;

 AudioStream wrong;

 AudioStream play;

 AudioStream timer;

 AudioStream clock;

 AudioStream select;

 public Voice() {
  try {
  start = new AudioStream(new FileInputStream("voice/start.wav"));
  end = new AudioStream(new FileInputStream("voice/end.wav"));
  wrong = new AudioStream(new FileInputStream("voice/wrong.wav"));
  play = new AudioStream(new FileInputStream("voice/play.wav"));
  timer = new AudioStream(new FileInputStream("voice/timer.wav"));

  } catch (Exception e) {
  e.printStackTrace();
  }
 }

 public void play(AudioStream as) {
  AudioPlayer.player.start(as);
  }
}

触发事件的时候调用的play方法。
请问这是怎么回事啊?谢谢指教

------解决方案--------------------
好像AudioStream as中有个标志as中的一个位置,如果play(),则从这个标志位play sound 直到结尾.
通过一个函数setXX()可以指到开始 重新播放 什么函数忘了 自己查jdk;

由于没看到完整代码,这只是一总可能;
------解决方案--------------------
假设b_n = Applet.newAudioClip(new URL("Sound/bk_nxt.au"));

那么按钮事件里要加上 b_n.play();这样才会每次点击按钮时都发出声音