Abrir um MP3 dentro de um Programa em Java

Tenho uma classe que grava musicas, artista, e coisas do genero sobre uma musica em MP3. Armazena inclusive o diretorio em que está localizada essa musica.
Eu queria saber como procedo em fazer um metodo que eu dou o nome da musica e o artista e ele “toca” a musica. Independente da onde toca, player’s, tals.
Ressaltando que a musica será buscada em uma lista (List-Collections) que contem as informações da musica, e assim o diretorio.

Alguém sabe como fazer, ou somente me dizer a biblioteca utilizada e/ou noções do codigo?

Olá,

você pode tentar o gstreamer-java[1], que é um conjunto de bindings Java para o framework GStreamer. Os criadores da ferramenta dizem que “Although gstreamer is commonly associated with the gnome desktop, gstreamer itself, and these bindings are portable across operating systems.”. Motivado pela sua pergunta, fiz um teste com o gstreamer-java e toquei um MP3 sem problemas. Porém estou em um desktop gnome (Ubuntu) e não tenho como dizer se funcionaria no Windows (é muito provável que o alsasink não funcione fora do Linux). Tive algumas experiências com o pygst (o mesmo que o gstreamer-java, só que para Python) e o framework é muito poderoso (melhor que o Java Media Framework toda vida) e funciona bem apesar da relativa complexidade e da parca documentação.

Fiquei surpreso com a qualidade da API em si, é orientada a objetos e bem mais amigável do que a original (em C) e do que os bindings Python, que são um pouco melhores do que a original, mas perdem feio para a gstreamer-java em expressividade.

Segue abaixo o código que funcionou aqui, adaptado dos tutoriais no site do gstreamer-java [2].

[code]import java.io.File;

import org.gstreamer.Bus;
import org.gstreamer.ElementFactory;
import org.gstreamer.Gst;
import org.gstreamer.GstObject;
import org.gstreamer.State;
import org.gstreamer.elements.PlayBin;

public class JavaGStreamerSimpleDemo
{
public static void main(String[] args)
{
Gst.init(“AudioPlayer”, args);
PlayBin playbin = new PlayBin(“AudioPlayer”);
playbin.setInputFile(new File("/home/rodrigo/mp3/hey-it-works.mp3"));
playbin.setAudioSink(ElementFactory.make(“alsasink”, “a”));
playbin.getBus().connect(new Bus.EOS()
{
@Override
public void endOfStream(GstObject source)
{
System.out.println(“Finished playing file”);
Gst.quit();
}
});
playbin.setState(State.PLAYING);
Gst.main();
playbin.setState(State.NULL);
}
}[/code]
Espero que ajude.

[]'s
Rodrigo

[1] http://code.google.com/p/gstreamer-java/
[2] http://code.google.com/p/gstreamer-java/wiki/Tutorials

[quote=rafamv9]Tenho uma classe que grava musicas, artista, e coisas do genero sobre uma musica em MP3. Armazena inclusive o diretorio em que está localizada essa musica.
Eu queria saber como procedo em fazer um metodo que eu dou o nome da musica e o artista e ele “toca” a musica. Independente da onde toca, player’s, tals.
Ressaltando que a musica será buscada em uma lista (List-Collections) que contem as informações da musica, e assim o diretorio.

Alguém sabe como fazer, ou somente me dizer a biblioteca u[quote][/quote][quote]tilizada e/ou noções do codigo?[/quote]

tudo joia rafamv9

eu sou novato em forum sou meio burro, num sei se estou atrapalhando.
Campeão é assim eu gostaria de saber se voce consegui fazer através do nome da musica e o artista toca a musica?
eu não entendi aquela parte que vc diz " Independente da onde toca, player’s, tals."
gente boa voce poderia me ajudar? eu tenho pesquisado mais de 15 dias sobre isto que voce diz , agora acabou meu tempo e meu chefe ta me precionando, por favor por Deus amigo vc pode me ajudar?