2017-12-25 14 views
0

私はオーディオファイルを再生する方法を習得しようとしており、以下のコードを思いついた。エラーはなく、.wavファイルのパスに入れますが、サウンドファイルは再生されません。これをどうすれば解決できますか?このJavaコードを修正してオーディオファイルを再生するにはどうすればよいですか?

import java.io.File; 
    import java.io.IOException; 
    import javax.sound.sampled.AudioFormat; 
    import javax.sound.sampled.AudioInputStream; 
    import javax.sound.sampled.AudioSystem; 
    import javax.sound.sampled.Clip; 
    import javax.sound.sampled.DataLine; 
    import javax.sound.sampled.LineUnavailableException; 
    import javax.sound.sampled.UnsupportedAudioFileException; 

    public class RunPlayer { 

     public void runner(String audioFilePath) throws UnsupportedAudioFileException, IOException, LineUnavailableException { 
      File audioFile = new File(audioFilePath); 

      AudioInputStream audioStream = AudioSystem.getAudioInputStream(audioFile); 

      AudioFormat format = audioStream.getFormat(); 

      DataLine.Info info = new DataLine.Info(Clip.class, format); 

      Clip audioClip = (Clip) AudioSystem.getLine(info); 

      audioClip.open(audioStream); 
      audioClip.start(); 

      audioClip.close(); 
      audioStream.close(); 
     } 

     public static void main(String[] args) throws UnsupportedAudioFileException, IOException, LineUnavailableException { 
      RunPlayer run = new RunPlayer(); 
      run.runner("thefilepathIentered"); 
     } 

    } 

答えて

0

問題は、クリップを開始した直後にaudioClipとaudioStreamを終了するという問題です。

あなたはクリップを実行したいと思っています。そして、再生を終了したクリップを閉じるようなボタンや機能があります。

この回答を見てください:https://stackoverflow.com/a/11025384/815086

+0

問題ありません!この答えを受け入れることを忘れないでください(あなたの問題の正しい解決策なら、左側のチェックマークをクリックしてください)。 – corecase

+0

オーディオの停止/終了時にストリームを閉じることを忘れないでください – MadProgrammer

関連する問題