Comment faire un jeu d'effet sonore à chaque fois que je clique?

11

Je sais que les sons comme une idée bizarre, mais je veux un peu expérimenter avec cela.

Au cours des derniers mois, je suis un peu tourné Ubuntu dans mon propre petit monstre de Frankenstein, mais tout ce que vous me dites devrait toujours fonctionner.

John Doe
la source

Réponses:

4

Hm, une solution assez hacky, mais ça marche! Tout d'abord, installez les éléments suivants:

sudo apt-get install xmacro expect mpg321

xmacroest le programme qui détectera vos clics de souris. expectest le programme qui écoutera la sortie de xmacrovos clics de souris afin de l'exécuter mpg321, qui est un joueur en ligne de commande!

, Exécutez ce script à l'intérieur d'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, par l' intermédiaire d' un terminal ) , vous demandera une clé d'entrée. Donner une touche inhabituelle (par exemple F7), ce sera la clé qui, peu importe quand vous appuyez dessus, il arrêtera ce processus de continuer.

Donc, juste à l'intérieur du 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!

xmacrorec2peut prendre comme argument la clé attendue (argument -k) en tant que code kei. Cela vous aide beaucoup si vous voulez mettre le script ci - dessus pour vos applications de démarrage, car il ne demandera pas une clé d'entrée à chaque fois. Pour trouver le code clé approprié que vous souhaitez utiliser, vous devez installer le petit 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 clavier, disons F7. Vous verrez quelque chose comme ceci:

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

Notez la ligne:

    m:0x0 + c:73

Le code 73est celui attendu par xmacrorec2. Ainsi, vous pouvez ajouter au script ci-dessus un argument -k, comme ceci: spawn xmacrorec2 -k 73et il démarrera automatiquement. Une fois que vous avez terminé de modifier le script, enregistrez-le dans un répertoire stable (je veux dire un répertoire que vous ne supprimerez / déplacerez pas dans un avenir proche), comme ~ / Documents et donnez-lui des autorisations exécutables (faites un clic droit dessus-> 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 à vos 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 de ligne de commande supplémentaire (comme mpg321), vous pouvez utiliser le lecteur pré-installé canberra-gtk-play, qui est utilisé comme

canberra-gtk-play -f music.wav

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

hytromo
la source
Je vais essayer ta commande. Aussi, que signifie -fle début et la spawncommande?
Lucio
Et ne savez-vous pas autre chose que mpg321 pour ne pas installer de programme externe?
Lucio
La page de manuel ( man expect) m'a guidé pour que soit ma 1ère ligne du script. Un autre lecteur de ligne de commande préinstallé est canberra-gtk-playet peut être appelé comme canberra-gtk-play -f file.ogg. L'inconvénient de ce programme est qu'il ne peut lire que certains fichiers ogg et wav.
hytromo
Pour l'instant, je ne peux pas prouver votre méthode, en raison d'une erreur GPG lors de la mise à jour .
Lucio
OK, prends ton temps.
hytromo