使用Java音频合成系统(JASS)播放一次声音



有人知道如何使用JASS播放一次声音文件吗?我可以使用SourcePlayer播放声音,但这是一个线程,它一遍又一遍地播放。

我使用下面的代码:

SourcePlayer player;
LoopBuffer loopbuffer;
Mixer mixer;
String wavfile = "sounds/ur.wav";
public void start(int speed) {
    float srate = 44100.f;
    int bufferSize = 128*4;
    int bufferSizeJavaSound = 8*1024;
    loopbuffer = new LoopBuffer(srate, bufferSize, wavfile);
    mixer = new Mixer(bufferSize, 1);
    mixer.setGain(0,1);
    player = new SourcePlayer(bufferSize, bufferSizeJavaSound, srate);
    try {
        player.addSource(mixer);
        mixer.addSource(loopbuffer);           
    } catch(SinkIsFullException e) { }
    float val = (float)(.95 + speed/20.);
    loopbuffer.setSpeed((float)val);
    player.start();
}

Thanks in advance

我没有使用JAAS,但您可以使用javax轻松播放*.wav文件。声音包,片段如下:

File soundFile = new File("path_to_file\doorbell.wav");
Clip clip = AudioSystem.getClip();
AudioInputStream inputStream = AudioSystem.getAudioInputStream(soundFile);
clip.open(inputStream);
clip.stop();//to avoid overlaps
clip.setFramePosition(0);
clip.start();

希望这有助于…快乐编码

最新更新