Parar execução de um áudio

0 respostas
vanessa.tenorio

Bom dia, pessoal!!!

Eu construi um pequeno player que execute áudio no formato .mp3, no qual ele possui três botões em sua interface. São eles:

selecionar áudio : abri os diretórios do computador para selecionar o áudio desejado, que está funcionando perfeitamente. Eu armazeno o caminho deste áudio selecionado em um arquivo.

public void incluirEnderecoAudio() throws FileNotFoundException, IOException {   
            
                     URL mediaURL = null;
                    JFileChooser fileChooser = new JFileChooser();
                    File Arquivo = fileChooser.getSelectedFile();


                    int result = fileChooser.showDialog(null, "ARQUIVOS");


                    if (result == JFileChooser.APPROVE_OPTION) // user chose a file
                    {
                         // Obtém o arquivo selecionado
                        // uma chamada à arquivo.getName() retornará o nome do arquivo

                        Arquivo = fileChooser.getSelectedFile();
                        try {
                         
                            mediaURL = fileChooser.getSelectedFile().toString();
                           
                        } // end try
                        catch (Exception e) {
                            System.err.println("Could not create URL for the file");
                        } 
}
}

botão play: executar o áudio. Eu vejo se este botão foi pressionado através de uma veriável booleana dentro do seu evento, e se sim, eu chamo a função teste(). :

public void teste() {
        try {

            ArquivoPlayer arquivoPlayer = new ArquivoPlayer();
            arquivoPlayer.abrirDoDisco();

            for (Play playVariavel : ArquivoPlayer.getPlays()) {

         
                String path = playVariavel.getMediaURL().toString();

                //Instanciação de um objeto File com o arquivo MP3   
                File mp3File = new File(path);
                //Instanciação do Objeto MP3, a qual criamos a classe.      
                MP3 musica = new MP3(mp3File);
                //Finalmente a chamada do método que toca a música      
                musica.play();

           
            }
        } catch (Exception e) {
        }

    }
}
import java.io.BufferedInputStream; 
import java.io.File; 
import java.io.FileInputStream;   
import javazoom.jl.player.Player;  
public class MP3 { 
      
    /**      * Objeto para nosso arquivo MP3 a ser tocado      */    
    private File mp3;     
    /**      * Objeto Player da biblioteca jLayer. Ele tocará o arquivo    
     * MP3      */  
    private Player player;   
    /**      * Construtor que recebe o objeto File referenciando o arquivo    
     * MP3 a ser tocado e atribui ao atributo MP3 da classe.    
     *      
     * @param mp3 
     */    public MP3(File mp3) {  
         this.mp3 = mp3;   
     }     
     /**      * Método que toca o MP3      */  
     public void play() { 
         
         try {             
             FileInputStream fis     = new FileInputStream(mp3);     
             BufferedInputStream bis = new BufferedInputStream(fis);     
             this.player = new Player(bis);      
             System.out.println("Tocando!");    
             this.player.play();        
             System.out.println("Terminado!");
            
         }           
         catch (Exception e) {        
             System.out.println("Problema ao tocar " + mp3);       
         }   
     }

O último botão é o stop: que deve para o áudio, porém não sei realizar esta funcionalidade. Alguém poderia me dar uma ajuda? Estou utilizando a lib jl1.0.1.jar, própria para a execuçao de audio no formato .mp3. Tem algum método stop() nesta biblioteca? Ou alguém tem alguma sugestão para eu parar a execuçao de audio?

Desde já, muito obrigada!!!

Criado 31 de maio de 2012
Respostas 0
Participantes 1