Como parar de tocar um som que esteja tocando em um programa. JavaSoundAudioClip

1 resposta
deiwys

Ola, estou fazendo um programinha pra passar o tempo, a ideia é fazer um afinador de violão. Eu fiz esse função para chamar o som que quero tocar em determinado momento, ai eu tenho na minha interface grafica um botão pra começar a tocar, o que esse codigo abaixo funciona corretamente para executa-lo mas ai eu fiz outro botao e quero fazer um ‘parar’ de tocar… que eu implementaria onde nessa função esta esse ‘System.exit(0)’. Alguem sabe o que eu posso entao usar para parar esse som que estaria tocando? Esse meu afinador de violão sera apenas pra pessoas que conseguem afinar de ouvindo (sim, nada muito util). Ai me veio na cabeça… como sera que seria pra fazer um afinador que eu pudesse tocar o violão de reconhecer a frequencia da corda com um programa. Alguem saberia me dizer que bibliotecas eu uso pra fazer algo assim? e se eu preciso de aparelhagem especial pra esse tipo de reconhecimento de som assim?

valeeeu galera, espero que alguem saiba tirar minhas duvidas :smiley:

public void tocaSomE6(int x){
        JavaSoundAudioClip myAudioClip;
            if(x==0){
                try {
                    myAudioClip = new JavaSoundAudioClip(new FileInputStream(new File(""D:\diretorio\som.wav"")));
                    myAudioClip.play();
                } catch (IOException ex){
                    ex.printStackTrace();
                    System.out.print(ex);
                }
            }
            else if(x==2){
                System.exit(0);
            }
        }

1 Resposta

deiwys

eu mudei umas coisas e descobri como funciona: fica como exemplo pra se alguem pecisar um dia :slight_smile:

try{
        int x = 0;

        if(x==0){
                try {
                    somTocado = new JavaSoundAudioClip(new FileInputStream(new File("D:\diretorio\som.wav")));
                    somTocado.play();
                } catch (IOException ex){
                    ex.printStackTrace();
                    System.out.print(ex);
                }
            }
            else if(x==1){
                somTocado.stop();
            }

        }
        catch(Exception ex){
              Logger.getLogger(Tela.class.getName()).log(Level.SEVERE, null, ex);
        }
Criado 10 de abril de 2011
Ultima resposta 10 de abr. de 2011
Respostas 1
Participantes 1