Cannot get SourceDataLine from stream info
Clash Royale CLAN TAG#URR8PPP
Cannot get SourceDataLine from stream info
I developed a service to play MP3 files using MP3 SPI, even though it works well on my local machine, it throws an exception after I published my service on the server. Here's the Exception catched by logger:
No line matching interface SourceDataLine supporting format PCM_SIGNED 16000.0
Hz, 16 bit, mono, 2 bytes/frame, little-endian, and buffers of -2 to -2 bytes
is supported.
Here's the code snippet that cause the error:
String url = "http://MusicURL.mp3"
AudioInputStream stream = null;
AudioInputStream dstream = null;
try
URL urlFile = new URL(url);
stream = AudioSystem.getAudioInputStream(urlFile);
catch (UnsupportedAudioFileException e)
logger.error("...", e);
catch (IOException e)
logger.error("...", e);
if (stream!=null){
try {
AudioFormat baseFormat = stream.getFormat();
AudioFormat decodedFormat = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED,
baseFormat.getSampleRate(),
16,
baseFormat.getChannels(),
baseFormat.getChannels() * 2,
baseFormat.getSampleRate(),
false);
dstream = AudioSystem.getAudioInputStream(decodedFormat, stream);
SourceDataLine.Info info = new DataLine.Info(SourceDataLine.class, decodedFormat,
((int)dstream.getFrameLength()*decodedFormat.getFrameSize()));
SourceDataLine line = (SourceDataLine)AudioSystem.getLine(info);
I'm pretty sure the MP3 SPI JAR package is included when uploading my project to the server container, it seems that the error occurs on the last line. Who can tell me why it doesn't work... NEED HELPPP!
By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.
The OS of my local machine is Windows, while the environment of the server is Linux.
– SwaggyP
Aug 10 at 6:47