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 からオーディオを読み込もうとする私の試みです。これは非常に遅いだけでなく、サウンド ファイルをロードしようとすると、次の例外が発生します。
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 のサウンドを読み込もうとしています)