2011-12-11 5 views
0

JASSを使用してサウンドファイルを再生する方法を知っている人はいますか? SourcePlayerを使って音を鳴らすことができますが、これはスレッドであり、何度も繰り返し再生します。Java Audio Synthesis System(JASS)を使用して一度サウンドを再生

私は以下のコードを使用しています:

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(); 
} 

おかげで事前

答えて

0

に私はJAASを使用していないが、あなたが快適にjavax.soundパッケージを使用して* .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(); 

希望...幸せ

+0

高速かつクリーンなソリューションをコーディング。しかし、私は 'javax.sound'を使ってサウンドの周波数を変更できますか? – pilavust

+0

私はそれを試したことはありませんが、これはいくつかの洞察を得るかもしれません:http://www.developer.com/java/other/article.php/2226701/Java-Sound-Creating-Playing-and-Saving-Synthetic-Sounds htm – buch11

関連する問題