2017-03-20 7 views
0

シンプルな "gong.wav"ファイルを再生する簡単なファイルを作ろうとしました。私は日食を使用しています。私はgong.wavファイルのコピーをbinフォルダとsrcフォルダの両方に置いた。それから、私はこのコードを実行しました(もちろん、それには必要なインポートが含まれていました)。私はこのコードを実行したとき、それはサウンドを再生しませんでした音が再生できない

public class Sound { 

    public static void main(String[] args) { 
     File gong = new File("gong.wav"); 
     System.out.println(gong.exists()); 
     playSound(gong); 
    } 
    static void playSound(File sound) { 
     try { 
      Clip clip = AudioSystem.getClip(); 
      clip.open(AudioSystem.getAudioInputStream(sound)); 
      clip.start(); 
      Thread.sleep(clip.getMicrosecondLength()/1000); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

、のThread.sleepは何もしなかった、とgong.exists()がfalseを返されました。何か案は?

おかげ

+1

絶対パスを指定すると、それは機能しますか? –

+1

Eclipseコンソールでも例外が表示されるはずです。 – freedev

+0

@freedevあなたの答えに対する私のコメントの1つは、Eclipseコンソールで取得したエラーが含まれています。 –

答えて

0

あなたはプロジェクトホームにファイルgong.wavを置く必要があります。

プロジェクトホームは、srcbinのディレクトリです。

project_home/bin 
project_home/gong.wav 
project_home/src 
project_home/src/Sound.java 
+0

これは、gong.exists()がtrueを返すようにしたものの、エラーが発生します。 –

+0

javax.sound.sampled.LineUnavailableException:形式がPCM_SIGNEDの48000.0 Hz、24ビット、ステレオ、6バイト/フレーム、リトルエンディアンはサポートされていません。 com.sun.media.sound.DirectAudioDevice $ DirectDL.implOpen(不明なソース)で \t com.sun.media.sound.DirectAudioDevice $ DirectClip.implOpen(不明なソース)で \t com.sun.media.soundで \t .AbstractDataLine.open(不明なソース)com.sun.media.sound.DirectAudioDevice $ DirectClip.open(不明なソース)で \t com.sun.media.sound.DirectAudioDevice $ DirectClip.open(不明なソース)で \t \t Sound.playSound(Sound.java:16) \t(Sound.java:11)​​ –

+0

これを修正する方法を教えてもらえますか? –

関連する問題