Como fazer um efeito sonoro tocar sempre que clico?

11

Eu sei que parece uma idéia estranha, mas eu quero experimentar isso.

Nos últimos meses, eu meio que transformei o Ubuntu no meu pequeno monstro de Frankenstein, mas o que você me disser ainda deve funcionar.

John Doe
fonte

Respostas:

4

Hum, uma solução bastante hacky, mas funciona! Antes de tudo, instale o seguinte:

sudo apt-get install xmacro expect mpg321

xmacroé o programa que detectará os cliques do mouse. expecté o programa que escutará a saída dos xmacrocliques do mouse para executar mpg321, que é um player de linha de comando!

Portanto, execute este script de dentro de um terminal:

#!/usr/bin/expect -f
spawn xmacrorec2

while { 1 } {
   expect "ButtonRelease 1"
   system mpg321 /home/alex/Music/notification/notification.mp3&
}

Quando você executa o script acima (repito, através de um terminal ), você será solicitado a inserir uma chave. Dê uma tecla incomum (por exemplo, F7), essa será a tecla que, não importa quando você a pressionar, interromperá o processo.

Portanto, dentro do script acima, defina mpg321 como um arquivo mp3 válido e teste-o :)

Ele funciona muito bem no Ubuntu 12.04, mas eu usei todas essas 3 ferramentas no Oneiric sem problemas!

xmacrorec2pode tomar como argumento a chave esperada (argumento -k) como um código kei. Isso ajuda muito se você deseja colocar o script acima em seus aplicativos de inicialização, porque ele não solicitará uma chave de entrada a cada vez. Para encontrar o código de chave apropriado que você deseja usar, você deve instalar o pequeno programa xbindkeys:

sudo apt-get install xbindkeys

Então faça:

touch ~/.xbindkeysrc
xbindkeys -k

Após o último comando, uma pequena janela aparecerá, sem fazer nada, dê uma entrada de teclado, digamos F7. Você verá algo assim:

You can use one of the two lines after "NoCommand"
in $HOME/.xbindkeysrc to bind a key.
"(Scheme function)"
m:0x0 + c:73
F7

Observe a linha:

    m:0x0 + c:73

O código 73é o esperado pelo xmacrorec2. Portanto, você pode adicionar ao script acima um argumento -k, assim: spawn xmacrorec2 -k 73e ele será iniciado automaticamente. Depois de terminar de editar o script, salve-o em um diretório estável (refiro-me a um diretório que você não excluirá / moverá para o futuro próximo), como ~ / Documents e conceda permissões de executável (clique com o botão direito do mouse em-> Propriedades-> Permissões-> Permite executar o arquivo como programa ou, através do terminal chmod +x script_name.sh). Em seguida, basta adicionar seu script aos aplicativos de inicialização . Obviamente, sempre que você quiser que esse som pare, será necessário fornecer a entrada de teclado correspondente, como F7.

PS: Se você não quiser instalar um mp3 player de linha de comando extra (como mpg321), poderá usar o player pré-instalado canberra-gtk-play, usado como

canberra-gtk-play -f music.wav

A desvantagem disso é que ele só pode reproduzir certos arquivos ogg e wav.

hytromo
fonte
Vou tentar o seu comando. Além disso, o que significa -fo começo e o spawncomando?
Lucio
E você não sabe mais alguma coisa que o mpg321 não instala um programa externo?
Lucio
A página de manual ( man expect) me orientou sobre qual seria minha primeira linha do script. Outro jogador de linha de comando pré-instalado é canberra-gtk-playe pode ser chamado como canberra-gtk-play -f file.ogg. O ponto alto deste programa é que ele só pode reproduzir determinados arquivos ogg e wav.
Hytromo 19/08/2012
No momento, não posso provar seu método, devido a um erro de GPG ao atualizar .
Lucio
ok, leve o seu tempo.
Hytromo 19/08/2012