web-dev-qa-db-fra.com

Comment faire jouer un effet sonore chaque fois que je clique?

Je sais que cela semble une idée étrange, mais je veux expérimenter avec cela.

Au cours des derniers mois, j'ai un peu transformé Ubuntu en mon propre petit monstre de Frankenstein, mais tout ce que vous me dites devrait toujours fonctionner.

11
John Doe

Hm, c'est une bonne solution, mais ça marche! Tout d'abord, installez les choses suivantes:

Sudo apt-get install xmacro expect mpg321

xmacro est le programme qui détectera les clics de votre souris. expect est le programme qui écoutera la sortie de xmacro pour les clics de votre souris afin d'exécuter mpg321, qui est un lecteur de ligne de commande!

Alors, lancez ce script depuis un terminal:

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

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

Lorsque vous exécutez le script ci-dessus (je le répète, via un terminal ), il vous sera demandé une clé de saisie. Donnez une clé inhabituelle (par exemple, F7). C’est la clé qui, peu importe le moment où vous appuyez dessus, arrêtera ce processus.

Dans le script ci-dessus, définissez mpg321 sur un fichier mp3 valide et testez-le :)

Cela fonctionne très bien sous Ubuntu 12.04 mais j'ai utilisé tous ces 3 outils sous Oneiric sans problème!

xmacrorec2 peut prendre en argument la clé attendue (argument -k) en tant que code kei. Cela vous aidera beaucoup si vous souhaitez mettre le script ci-dessus dans vos applications de démarrage, car il ne vous demandera pas de clé d'entrée à chaque fois. Afin de trouver le code de clé que vous voulez utiliser, vous devez installer le minuscule programme xbindkeys:

Sudo apt-get install xbindkeys

Alors fais:

touch ~/.xbindkeysrc
xbindkeys -k

Après la dernière commande, une petite fenêtre apparaîtra, sans rien y faire, donnez-lui une entrée au clavier, disons F7. Vous verrez quelque chose comme ça:

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

Remarquez la ligne:

    m:0x0 + c:73

Le code 73 est celui attendu par xmacrorec2. Donc, vous pouvez ajouter au script ci-dessus un argument -k, comme ceci: spawn xmacrorec2 -k 73 et il démarrera automatiquement. Une fois que vous avez terminé d’éditer le script, enregistrez-le dans un répertoire stable (par exemple, un répertoire que vous ne supprimerez pas/ne déplacera pas dans un avenir proche), tel que ~/Documents et accordez-lui des autorisations exécutables (cliquez dessus avec le bouton droit de la souris -> Propriétés-> Autorisations-> Autoriser l'exécution du fichier en tant que programme ou, via le terminal, chmod +x script_name.sh). Ensuite, ajoutez simplement votre script à votre Applications de démarrage . Bien sûr, chaque fois que vous voulez que ce son s’arrête, vous devrez donner l’entrée clavier correspondante, comme F7.

PS: Si vous ne souhaitez pas installer un lecteur mp3 supplémentaire en ligne de commande (comme mpg321), vous pouvez utiliser le lecteur pré-installé canberra-gtk-play, utilisé comme

canberra-gtk-play -f music.wav

L'inconvénient est qu'il ne peut lire que certains fichiers ogg et wav.

4
hytromo