Yo usaba este
http://www.javazoom.net/javalayer/sources.html pero no me terminaba de convencer y hice este, no lo he probado con mp3, pero con wav lo uso para un Teléfono SIP y no falla.
Código:
package es.jsys.sonido;
/**
*
* @author Javier Hernández
*/
import java.io.*;
import java.net.URL;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sound.sampled.*;
public class SonidoRing {
public static Clip clip;
public SonidoRing() {
try {
URL url = getClass().getResource("nokia-ring.wav");
AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);
clip = AudioSystem.getClip();
clip.open(audioIn);
clip.loop(Clip.LOOP_CONTINUOUSLY);
} catch (UnsupportedAudioFileException e) {
Logger.getLogger(SonidoRing.class.getName()).log(Level.SEVERE, null, e);
} catch (IOException e) {
Logger.getLogger(SonidoRing.class.getName()).log(Level.SEVERE, null, e);
} catch (LineUnavailableException e) {
Logger.getLogger(SonidoRing.class.getName()).log(Level.SEVERE, null, e);
}
}
public static void parar(){
clip.stop();
}
}
Tienes más aquí
Sobre las rutas yo lo utilizo así para grabar las llamadas en el servidor y va bien:
ServidorVOIP.grabarLlamada("/root/conversaciones_grabadas/" + nombre_grabacion);
Con el File no recuerdo ahora, pero creo que vale igual, de todas maneras en google hay muchos ejemplos donde se utilizan directorios con File().
Aquí tienes info
http://download.oracle.com/javase/6/...a/io/File.html , para Windows es diferente que para Gnu/Linux.
Espero que te pueda servir.
Saludos