¿Cómo hacer que se reproduzca un efecto de sonido cada vez que hago clic?

11

Sé que suena como una idea extraña, pero quiero experimentar con esto.

En los últimos meses, he convertido Ubuntu en mi propio pequeño monstruo de Frankenstein, pero lo que me digas debería funcionar.

John Doe
fuente

Respuestas:

4

Hm, una solución bastante hacky, ¡pero funciona! En primer lugar, instale lo siguiente:

sudo apt-get install xmacro expect mpg321

xmacroes el programa que detectará los clics de tu mouse. expectes el programa que escuchará la salida de xmacrosus clics del mouse para ejecutar mpg321, ¡que es un reproductor de línea de comando!

Entonces, ejecute este script desde dentro de una terminal:

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

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

Cuando ejecute el script anterior (repito, a través de un terminal ) se le pedirá una clave de entrada. Proporcione una tecla inusual (por ejemplo, F7), esta será la tecla que, sin importar cuándo la presione, detendrá este proceso.

Entonces, solo, dentro del script anterior, configure mpg321 en un archivo mp3 válido suyo y pruébelo :)

Funciona bien en Ubuntu 12.04, ¡pero he usado todas estas 3 herramientas en Oneiric sin ningún problema!

xmacrorec2puede tomar como argumento la clave esperada (argumento -k) como un código kei. Esto le ayuda mucho si desea colocar el script anterior en sus aplicaciones de inicio, ya que no solicitará una clave de entrada cada vez. Para encontrar el código de clave apropiado que desea utilizar, debe instalar el pequeño programa xbindkeys:

sudo apt-get install xbindkeys

Entonces hazlo:

touch ~/.xbindkeysrc
xbindkeys -k

Después del último comando, aparecerá una pequeña ventana, sin hacerle nada, déle una entrada de teclado, digamos F7. Verás algo como esto:

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 la línea:

    m:0x0 + c:73

El código 73es el esperado por xmacrorec2. Por lo tanto, puede agregar al script anterior un argumento -k, como este: spawn xmacrorec2 -k 73y se iniciará automáticamente. Una vez que haya terminado de editar el script, guárdelo en un directorio estable (me refiero a un directorio que no eliminará / moverá al futuro cercano), como ~ / Documentos y dele permisos ejecutables (haga clic con el botón derecho en él-> Propiedades-> Permisos-> Permitir ejecutar archivos como programa, o, a través del terminal, chmod +x script_name.sh). Luego, simplemente agregue su script a sus aplicaciones de inicio . Por supuesto, cada vez que desee que se detenga este sonido, tendrá que dar la entrada de teclado correspondiente, como F7.

PD: Si no desea instalar un reproductor de mp3 de línea de comando adicional (como mpg321), puede usar el reproductor preinstalado canberra-gtk-play, que se usa como

canberra-gtk-play -f music.wav

La desventaja es que solo puede reproducir ciertos archivos ogg y wav.

hytromo
fuente
Probaré tu comando. Además, ¿qué significa -fel principio y el spawncomando?
Lucio
¿Y no sabes algo más que mpg321 para no instalar un programa externo?
Lucio
La página de manual ( man expect) me guió para saber cuál sería mi primera línea del guión. Otro jugador de línea de comandos preinstalado es canberra-gtk-playy puede llamarse como canberra-gtk-play -f file.ogg. La desventaja de este programa es que solo puede reproducir ciertos archivos ogg y wav.
hytromo
En este momento no puedo probar su método, debido a un error de GPG al actualizar .
Lucio
está bien, tomate tu tiempo.
hytromo