Here's a part of what I wrote:
import java.io.*;
import javax.sound.sampled.*;
...
File file = new File(filename);
Line.Info lineInfo = new Line.Info(SourceDataLine.class);
SourceDataLine dataLine = (SourceDataLine)AudioSystem.getLine(lineInfo);
AudioInputStream input = AudioSystem.getAudioInputStream(file);
...
I ran the thing using Sun's jdk 1.4.1. To my surprise jvm threw out this
stack trace:
java.lang.NoClassDefFoundError: javazoom/jl/decoder/Bitstream
at
org.tritonus.sampled.file.MpegAudioFileReader.getAudioFileFormat(MpegAudioFi
leReader.java:136)
at
org.tritonus.sampled.file.MpegAudioFileReader.getAudioInputStream(MpegAudioF
ileReader.java:214)
at
org.tritonus.sampled.file.TAudioFileReader.getAudioInputStream(TAudioFileRea
der.java:94)
at
javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:748)
...etc....
Does anybody have any idea why some org.tritonus.sampled.file... would be
needed and (more importantly) why Sun is using it without shipping it with
their javax.sound API?
My bad. I had a tritonus provider (an old one, to make matters worse) in my
classpath.