2014-02-19 122 views
0

我想在我的Java應用程序播放聲音,但我每次調用方法時,我得到這個異常:javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 48000.0 Hz, 24 bit, mono, 3 bytes/frame, little-endian not supported.錯誤在播放聲音在Java中

下面的代碼:

AudioInputStream audio = AudioSystem.getAudioInputStream(new File("src/media/ding2.wav")); 
    Clip clip = AudioSystem.getClip(); 
    clip.open(audio); 
    clip.start(); 

我試圖通過傳遞URL來播放文件,並且它工作正常,但是使用我的「ding2.wav」沒有任何效果。

在此先感謝您的幫助。

+0

錯誤消息在這裏非常明顯。 – Radiodef

回答

1

通過查看在機制的文檔HERE的LineUnavailableException出現當行不可用,或者所請求的資源是由其他應用程序,

確保您的音頻文件是不以任何其他應用程序中打開。

EDIT

作爲錯誤消息指出:與格式線PCM_SIGNED 48000.0赫茲,24位,單聲道,3個字節/幀 您提供的文件格式不支持。 正如你所說我想傳遞一個URL播放文件,它工作正常, 把舊的文件備份,並通過使用

System.out.println(audio.getFormat()); 

檢查文件格式,並檢查什麼的文件格式該文件是否與格式爲PCM_SIGNED 48000.0 Hz,24位,單聲道,3或以上的行相同 -

+0

剛剛嘗試過,它說'PCM_UNSIGNED 11025.0 Hz,8位,立體聲,2字節/幀。我想我必須轉換我的「ding2.wav」文件,感謝您的幫助。 – Nick0602