URL url = new URL("http://www.dasolorfire.freehostia.com/sound/test.wav");
AudioInputStream sound = AudioSystem.getAudioInputStream(url); //Sound.java:50
DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat());
clip = (Clip) AudioSystem.getLine(info);
clip.open(sound);
clip.addLineListener(new LineListener()
{
public void update(LineEvent event)
{
if (event.getType() == LineEvent.Type.STOP)
{
event.getLine().close();
}
}
});
clip.start();
這是我嘗試從url加載音頻。這不僅是非常緩慢的,但是當我嘗試加載聲音文件我得到這個異常:使用帶有AudioInputStream的URL
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input URL
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at srcD.Sound.soundPlay(Sound.java:50)
我的下一個嘗試與輸入流替換URL。
InputStream url = new URL("http://www.dasolorfire.freehostia.com/sound/test.wav").openStream();
AudioInputStream sound = AudioSystem.getAudioInputStream(url);
這樣做的問題是,我得到這個錯誤:
java.io.IOException: mark/reset not supported
at java.io.InputStream.reset(Unknown Source)
at java.io.FilterInputStream.reset(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.reset(Unknown Source)
at com.sun.media.sound.SoftMidiAudioFileReader.getAudioInputStream(Unknown Source)
at javax.sound.sampled.AudioSystem.getAudioInputStream(Unknown Source)
at srcD.Sound.soundPlay(Sound.java:50)
(我試圖加載聲音的JNLP)
我才意識到,隨着第一個錯誤。我不知道爲什麼。在控制面板中,文件工作正常。在網站上,該文件不起作用。其他的wav文件可以工作。 – Coupon22
感謝您的回答!主要的錯誤是聲音文件無法在網站上工作,我通過將聲音文件放在jar文件中來修復它。我還有一個問題,這兩個工作文件需要很長時間才能從互聯網上運行。我如何加快速度? – Coupon22