• Post Reply Bookmark Topic Watch Topic
  • New Topic

Invalid format error  RSS feed

 
Marco da Vinha
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi there! I'm still pretty new to coding. I've done a free online basic intro to Java and decided to follow a tutorial on how to make a basic media player from another site. I've followed everything on the tutorial, but for some reason, when I try to play the WAV file it throws the exception Invalid Format. Can anyone clue me in on what might be wrong? Thanks!

PS - Ignore the comments, as I wrote them as I went a long to understand what is going on with each line.

 
Tim Moores
Saloon Keeper
Posts: 4034
94
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Post the full stack trace of the exception - it includes the line number that points to the line of code causing the problem. You may have to print the stack trace of all exceptions, like "e.printStackTrace()" in line 113.
 
Marco da Vinha
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Tim Moores wrote:Post the full stack trace of the exception - it includes the line number that points to the line of code causing the problem. You may have to print the stack trace of all exceptions, like "e.printStackTrace()" in line 113.


It gives the following result, but something seems to be wrong, as it references lines I don't even have in the code:


java.lang.IllegalArgumentException: Invalid format
at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.createStream(PulseAudioDataLine.java:142)
at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.open(PulseAudioDataLine.java:99)
at org.classpath.icedtea.pulseaudio.PulseAudioDataLine.open(PulseAudioDataLine.java:283)
at org.classpath.icedtea.pulseaudio.PulseAudioClip.open(PulseAudioClip.java:402)
at org.classpath.icedtea.pulseaudio.PulseAudioClip.open(PulseAudioClip.java:453)
at player.MediaPlayer.actionPerformed(MediaPlayer.java:108)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
 
Ron McLeod
Bartender
Posts: 1603
232
Android Angular Framework Eclipse IDE Java Linux MySQL Database Redhat TypeScript
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It seems like it is related to the capabilities of the platform's audio subsystem.

When I run your code and try to a play a wav file containing PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian content, it plays fine, but if I try to play a file containing ULAW 8000.0 Hz, 8 bit, mono, 1 bytes/frame content, it fails:



Try playing an audio file containng a different format and see if you have any success.

My stack trace was a bit different since I am running on Windows and it looks like you are using Linux.
 
Marco da Vinha
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
No luck. But I've googled around and apparently this is a Linux problem with Java sound.
 
Ron McLeod
Bartender
Posts: 1603
232
Android Angular Framework Eclipse IDE Java Linux MySQL Database Redhat TypeScript
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Marco da Vinha wrote:... apparently this is a Linux problem with Java sound.

Well .. I just tried on same code and the same two audio files on Fedora 18 (using pulseaudio) and Java version 1.7.0_45, and I was able to play both files, so it can work on Linux.
 
Ron McLeod
Bartender
Posts: 1603
232
Android Angular Framework Eclipse IDE Java Linux MySQL Database Redhat TypeScript
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
These are the packages related to pulseaudio that I have installed:

# rpm -qa | grep pulseaudio
pulseaudio-utils-2.1-7.fc18.x86_64
pulseaudio-module-x11-2.1-7.fc18.x86_64
pulseaudio-libs-glib2-2.1-7.fc18.x86_64
pulseaudio-module-bluetooth-2.1-7.fc18.x86_64
pulseaudio-gdm-hooks-2.1-7.fc18.x86_64
pulseaudio-2.1-7.fc18.x86_64
pulseaudio-libs-2.1-7.fc18.x86_64
alsa-plugins-pulseaudio-1.0.26-2.fc18.x86_64

 
Don't get me started about those stupid light bulbs.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!