Player...como fazer?

estou com um exemplo de um player q peguei do livro do deitel…esse exemplo usa o botão abrir para poder, claro, executar…

será q tem como eu executar o mp3 sem precisar clicar em abrir? apenas apertando a tecla enter? (meu programa seria para um deficiente visual…) o que devo substituir?

código

[code]import java.awt.;
import java.awt.event.
;
import java.io.;
import java.net.
;
import javax.swing.;
import javax.media.
;

public class soaudio extends JFrame
{
private Player player;
private Component visualMedia;
private Component mediaControl;
private Container container;
private File mediaFile;
private URL fileURL;
private JPanel p1, p2, p3;

public soaudio()
{
	super( "Player" );

	container = getContentPane();
	
 	p3 = new JPanel();
	container.add( p3, BorderLayout.CENTER );
	
	JButton openFile = new JButton( "Abrir Arquivo" );
	p3.add( openFile );
	
	openFile.addActionListener(new ActionListener() 
	{
			public void actionPerformed( ActionEvent event )
			{
			
			mediaFile = getFile();
			
				if ( mediaFile != null ) 
				{
					try 
					{
						fileURL = mediaFile.toURL();
					}
					catch ( MalformedURLException badURL ) 
					{
						badURL.printStackTrace();
						showErrorMessage( "Bad URL" );
					}
				
				makePlayer( fileURL.toString() );
				}
			}
	}
);


	Manager.setHint( Manager.LIGHTWEIGHT_RENDERER, Boolean.TRUE );
} 

	

public void showErrorMessage( String error )
{
	JOptionPane.showMessageDialog( this, error, "Error",
	JOptionPane.ERROR_MESSAGE );
}

public File getFile()
{
	JFileChooser fileChooser = new JFileChooser();

	fileChooser.setFileSelectionMode( 
	JFileChooser.FILES_ONLY );

	int result = fileChooser.showOpenDialog( this );

	if ( result == JFileChooser.CANCEL_OPTION )
		return null;
		else
			return fileChooser.getSelectedFile();
}


public void makePlayer( String mediaLocation )
{

	if ( player != null )
		removePlayerComponents();

	MediaLocator mediaLocator = new MediaLocator( mediaLocation );

 	if ( mediaLocator == null ) 
 	{
		showErrorMessage( "Error opening file" );
			return;
 	}
 	try 
	{
		player = Manager.createPlayer( mediaLocator );

	 	player.addControllerListener(new PlayerEventHandler() );
		player.realize();
	}

	catch ( NoPlayerException noPlayerException ) 
	{
		noPlayerException.printStackTrace();
	}

	catch ( IOException ioException ) 
	{
		ioException.printStackTrace();
	}
} 


public void removePlayerComponents()
{

	if ( visualMedia != null )
		container.remove( visualMedia );
		if ( mediaControl != null )
			container.remove( mediaControl );

 		 	player.close();
}


public void getMediaComponents()
{
	visualMedia = player.getVisualComponent();

		if ( visualMedia != null )
			container.add( visualMedia, BorderLayout.CENTER );
		
			mediaControl = player.getControlPanelComponent();
			if ( mediaControl != null )
				container.add( mediaControl, BorderLayout.SOUTH );

} 

private class PlayerEventHandler extends ControllerAdapter 
{
	public void realizeComplete(RealizeCompleteEvent realizeDoneEvent )
	{
		player.prefetch();
	}

	public void prefetchComplete(PrefetchCompleteEvent prefetchDoneEvent )
	{
		getMediaComponents();
		validate();
		player.start();

	} 

	public void endOfMedia( EndOfMediaEvent mediaEndEvent )
	{
		player.setMediaTime( new Time( 0 ) );
		player.stop();
	}
} 


public static void main( String args[] )
{
	soaudio testPlayer = new soaudio();

	testPlayer.setSize( 300, 400 );
	testPlayer.setLocation( 300, 300 );
	testPlayer.setDefaultCloseOperation( EXIT_ON_CLOSE );
	testPlayer.setVisible( true );
}

}[/code]

[quote=“LuanaKelly”]será q tem como eu executar o mp3 sem precisar clicar em abrir? apenas apertando a tecla enter? (meu programa seria para um deficiente visual…) o que devo substituir?
[/quote]
não entendi bem sua pergunta, você quer que, apertando enter, o mp3 toque direto? nesse caso o file (o arquivo de audio mp3) já estaria definido não é isso?

nesse caso acho q basta adicionar um key listener para todos os componentes da janela, e no keyPressed você colocaria um if pra ver se a tecla pressionada é o enter e rodaria a rotina para tocar o som…

procura um metodo melhor com alguem, porque adicionar um listener pra todos os componentes não deve ser a melhor solução.

exatamente… eu fiz isso…tem 5 histórias…ao digitar 1…inicia a historia 1…2 inicia a historia 2…e assim sucessivamente…mais uso o comando para abrir o media player…
Mais gostaria q executasse em um player feito em java… como esse exemplo acima…(só q esse exemplo tem o botão abrir arquivo…localizar o arquivo na máquina e depois play)…
Minha dúvida é…se consigo fazer com q esse programa(ou similar) rode minhas histórias sem clicar no botão…somente digitando o numero referente a cada uma…

ihh acho q confundi mais…

oi,
nao li a classe do Deitel que você mostrou acima, mas se eu estiver certo ela roda a midia (no caso o mp3) a partir de um File. se for isso voce poderia ter um array de File, cada um com uma mídia já definida, e teria um File extra, que seria a opcao atual. quando a pessoa apertasse em 4 por exemplo, o programa carregaria o que esta na quarta posição do array no File extra.
daí, onde a pessoa apertasse Enter, o programa rodaria aquilo que está no File extra, pelo código que você deu.

espero ter entendido certo…

isso…exatamente…
mais o meu problema é como fazer isso…hehehe

qual o comando q uso…?

por exemplo…

if (keyCode == KeyEvent.VK_1) { //Aqui chamo a história 1.... }

eu sou meia “leiga” nesse negócio…

Olá pessoal,

estou precisando de um ajuda,

como se faz um player em Java, para tocar minha WebRádio, q será acessado pelo celular, com os botões Pause e Play,

qualquer ajuda é be vinda,
Obrigado.