audio - Invalid format with getAudioInputStream, trying to play a sound in Java -
i'm trying play basic sound in java...
here code, based on code found on various forums :
clip clip = null; try { clip = audiosystem.getclip(); audioinputstream inputstream = audiosystem.getaudioinputstream(new file(url)); clip.open(inputstream); } catch (lineunavailableexception | ioexception | unsupportedaudiofileexception ex) { logger.getlogger(pomodoro.class.getname()).log(level.severe, null, ex); } return clip;
i checked : new file(url).exists();
returns true, checked file type audio wav (audio/x-wav), checked problem persists file... don't understand i'm doing wrong.
the error :
exception in thread "main" java.lang.exceptionininitializererror caused by: java.lang.illegalargumentexception: invalid format @ org.classpath.icedtea.pulseaudio.pulseaudiodataline.createstream(pulseaudiodataline.java:142) @ org.classpath.icedtea.pulseaudio.pulseaudiodataline.open(pulseaudiodataline.java:99) @ org.classpath.icedtea.pulseaudio.pulseaudiodataline.open(pulseaudiodataline.java:283) @ org.classpath.icedtea.pulseaudio.pulseaudioclip.open(pulseaudioclip.java:402) @ org.classpath.icedtea.pulseaudio.pulseaudioclip.open(pulseaudioclip.java:453)
help !
i found duplicate of issue. sorry bothered you.
my code became :
clip clip = null; try { audioinputstream inputstream = audiosystem.getaudioinputstream(new file(url)); dataline.info info = new dataline.info(clip.class, inputstream.getformat()); clip = (clip)audiosystem.getline(info); clip.open(inputstream); } catch (lineunavailableexception | ioexception | unsupportedaudiofileexception ex) { logger.getlogger(pomodoro.class.getname()).log(level.severe, null, ex); } return clip;
nevertheless, i'm surprised previous code didn't work. sometimes, i'm quite desperate java...
Comments
Post a Comment