Como fazer um efeito sonoro tocar sempre que eu clicar?

10

Eu sei que parece uma ideia estranha, mas eu meio que quero experimentar isso.

Ao longo dos últimos meses, eu meio que transformei o Ubuntu no meu próprio pequeno monstro de Frankenstein, mas o que quer que você me diga ainda deve funcionar.

    
por John Doe 20.06.2012 / 01:27

1 resposta

4

Hm, uma solução bastante hacky, mas funciona! Primeiro de tudo instale as seguintes coisas:

sudo apt-get install xmacro expect mpg321

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

Então, execute este script 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ê executar o script acima (repito, através de um terminal ), você será solicitado a inserir uma chave. Dê uma chave incomum (por exemplo, F7), esta será a chave que, não importa quando você pressioná-lo, ele irá parar este processo de continuar.

Então, apenas, dentro do script acima, coloque o mpg321 em um arquivo mp3 válido e teste-o:)

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

xmacrorec2 pode tomar como argumento a chave esperada (argumento -k) como um código kei. Isso ajuda muito se você quiser colocar o script acima em seus aplicativos de inicialização, porque ele não pedirá uma chave de entrada a cada vez. Para encontrar o código de chave apropriado que você deseja usar, você precisa instalar o minúsculo 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, dar-lhe 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 por xmacrorec2. Então, você pode adicionar ao script acima um argumento -k, assim: spawn xmacrorec2 -k 73 e ele será iniciado automaticamente. Depois de terminar de editar o script, salve-o em um diretório estável (quero dizer, um diretório que você não irá excluir / mover para o futuro próximo), como ~ / Documents e dê permissões executáveis (clique com o botão direito sobre ele- > > Permissões- > Permitir a execução do arquivo como programa ou, através do terminal, chmod +x script_name.sh ). Em seguida, basta adicionar seu script ao seu Startup Applications . É claro que sempre que você quiser que este som pare, você terá que 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 ), então você pode usar o player pré-instalado canberra-gtk-play , que é usado como

canberra-gtk-play -f music.wav

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

    
por hytromo 19.08.2012 / 02:02