Have you been able to solve this problem? I am in the same situation. Thank 
you. This is what I am seeing:
Exception in thread "main" java.lang.IllegalArgumentException: No line 
matching interface Clip supporting format PCM_SIGNED unknown sample rate, 
16 bit, stereo, 4 bytes/frame, big-endian is supported.         at 
javax.sound.sampled.AudioSystem.getLine(AudioSystem.java:476)         at 
javax.sound.sampled.AudioSystem.getClip(AudioSystem.java:520)         at 
org.mdpnp.helloice.Audio.play(Audio.java:46)         at 
org.mdpnp.helloice.HelloICE_Numeric.main(HelloICE_Numeric.java:208)

I am not sure if it has to do with Clip, AudioSystem, Mixer... Do we need 
to setup anything special due to JAVA being run on BBB? Do we need to 
modify */java/ejre1.7.0_45/lib/sound.properties file? If I do 'arecord -l' 
at command line I see my USB audio dongle:

Exception in thread "main" java.lang.IllegalArgumentException: No line 
matching interface Clip supporting format PCM_SIGNED unknown sample rate, 
16 bit, stereo, 4 bytes/frame, big-endian is supported.         at 
javax.sound.sampled.AudioSystem.getLine(AudioSystem.java:476)         at 
javax.sound.sampled.AudioSystem.getClip(AudioSystem.java:520)         at 
org.mdpnp.helloice.Audio.play(Audio.java:46)         at 
org.mdpnp.helloice.HelloICE_Numeric.main(HelloICE_Numeric.java:208)

Thank you.
 
On Wednesday, February 12, 2014 4:29:07 PM UTC-5, caleb frost wrote:
>
> ugh sorry. its also a beaglebone. not beaglebone black
>
> On Wednesday, February 12, 2014 3:46:22 PM UTC-5, caleb frost wrote:
>
> Hello! I have a problem thats been stumping me for a while. I'm quite new 
> at developing Java and I may be in over my head with this one. Please 
> forgive me if I haven't posted in the correct format of something.
>
> I am running Ubuntu 12.04 with 'lightweight x11 desktop environment' off 
> of a BeagleBone Black. The Java code below is supposed to play a .wav file 
> (Ive also tried switching to .mp3 with no luck) when a notification occurs. 
> This all works fine on OSX but Errors out on the BeagleBone.
>
> This is my troubleshooting so far:
> I have successfully gotten the BeagleBone to make white noise through the 
> terminal command 
>
> speaker-test -D default:CARD=Headset 
>
> I could NOT play anything using the following terminal command:
>
> mplayer -ao alsa:device=default=Headset XXX.mp3
>
> Also, I could not play anything using the built in audio player including 
> the supplied .mp3. This may be irrelevant but I have also successfully 
> commented out relevant java lines to avoid making any sound just so the 
> program can run.
>
> Heres the code:
>
> package com.XXXXXX.ibis.notification;
> import java.io.BufferedInputStream;import java.io.IOException;import 
> java.io.InputStream;import java.net.MalformedURLException;import 
> java.net.URI;import java.net.URISyntaxException;import java.net.URL;import 
> java.util.Timer;import java.util.TimerTask;import 
> java.util.logging.Level;import javax.sound.sampled.*;import 
> org.slf4j.Logger;import org.slf4j.LoggerFactory;
>
> public class AudioNotification implements INotification {
>
>     /**
>      *
>      * @param audioURL
>      * @param intervalMS
>      */
>     public AudioNotification(URL audioURL, int intervalMS) {
>
>         m_intervalMS = intervalMS;
>         m_audioURL   = audioURL;
>
>     }
>
>     /**
>      *
>      * @param filename
>      * @param intervalMS
>      */
>     public AudioNotification(String filename, int intervalMS) {
>
>         m_intervalMS = intervalMS;
>
>         try {
>             m_audioURL = new URI(filename).toURL();
>          } catch (URISyntaxException ex) {
>             LOG.error("Unable to convert filename(" + filename + ") to URI", 
> ex);
>         } catch (MalformedURLException ex) {
>             LOG.error("Unable to convert filename(" + filename + ") to URL", 
> ex);
>         }
>
>     }
>
>     
> //**************************************************************************
>     //** INotification interface 
> ***********************************************
>     
> //**************************************************************************
>     /**
>      *
>      * @param bActivate
>      */
>     @Override
>     public void activate(boolean bActivate) {
>         if (bActivate != isActive()) {
>             if (isActive()) {
>                 stop();
>             } else {
>                 try {
>                     start();
>                 } catch (InterruptedException ex) {
>                     
> java.util.logging.Logger.getLogger(AudioNotification.class.getName()).log(Level.SEVERE,
>  null, ex);
>                 }
>             }
>         }
>     } // activate
>
>     /**
>      *
>      * @return
>      */
>     @Override
>     public boolean isActive() {
>         return (m_playTask != null);
>     } // isActive
>
>     /**
>      *
>      */
>     @Override
>     public void signal() {
>         LOG.debug("signal()");
>     } // signal
>
>     
> //**************************************************************************
>     //** PRIVATE METHODS 
> *******************************************************
>     
> //**************************************************************************
>     /**
>      *
>      */
>     private void start() throws InterruptedException {
>         LOG.debug("start()");
>         // start audio playback timer
>         if (m_playTask == null) {
>             try {
>                 // TODO: only play 5 times?
>                 m_playTask = new PlayClipTask(m_audioURL.openStream());
>                 long timerIntervalMS = (m_intervalMS + 
> m_playTask.clipLengthMS());
>                 //m_timer.schedule(m_playTask, timerIntervalMS, 
> timerIntervalMS);
>                 for (int i = 0; i < REPEAT; i++) {
>                     m_timer.schedule(m_playTask, timerIntervalMS);
>                     Thread.sleep(timerIntervalMS * SLEEP_TIME);
>                     m_playTask = new PlayClipTask(m_audioURL.openStream());
>                 }
>             } catch (IOException ex) {
>                 LOG.warn("start(): Error creating play task", ex);
>             }
>         } else {
>             LOG.warn("start(): Playback already in progress");
>         }
>     } // start
>
>     /**
>      *
>      */
>     private void stop() {
>         LOG.debug("stop()");
>         // cancel audio playback timer
>         if (m_playTask != null) {
>             m_playTask.stopPlayback();
>             m_playTask.cancel();
>             m_playTask = null;
>         }
>     } // stop
>
>     
> //**************************************************************************
>     //** PRIVATE CLASSES 
> *******************************************************
>     
> //**************************************************************************
>     private class PlayClipTask extends <span style="background-colo
>
> ...

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to