thomas31000
Posts: 5
Joined: Sun Dec 08, 2013 6:43 pm

Comment stopper mplayer avec un clavier matriciel ?

Sun Dec 08, 2013 6:51 pm

Bonjour,

Je suis en train de créer une webradio avec un raspberry pi.
Débutant sous linux j'implémente chacune des fonctions et là je bloque.

Pour lancer la radio par de problème j'utilise le logiciel mplayer avec un script bash dans le init.d.
Dès que le raspberry se lance la radio se lance.

Code: Select all

mplayer -playlist URL_de_la_radio
Il y'a un fichier de configuration dans mplayer qui permet de piloter mplayer. En appuyant sur la touche 'q' avec un clavier usb classique mplayer s'arrête, ca fonctionne.

Etape suivant, je souhaite stopper mplayer à l'aide d'une variable récupérée par un clavier matriciel relié sur le port GPIO.
Donc dès que j'ai la variable var=1 qui arrive je souhaite envoyer cette commande (mplayer configuré en slave) :

Code: Select all

[code]echo 'quit' > /tmp/fifo
[/code]

Quand je suis dans un session et que j'ouvre deux terminals là ca fonctionne, mais impossible de gérer ca automatiquement dans la phase de boot de init.d

Le problème c'est que mplayer tourne en permanence, et tant que la touche q n'est pas appuyée alors impossible de lui faire un echo 'quit'.

Savez-vous comment résoudre mon problème ?

J'espère avoir été assez clair.

Merci,

totoharibo
Posts: 4450
Joined: Thu Jan 24, 2013 8:43 am

Re: Comment stopper mplayer avec un clavier matriciel ?

Sun Dec 08, 2013 9:17 pm

pour mplayer utiliser le mode slave.

mais ce n'est pas le meilleur en cas de perte de flux.

pour ma webradio j'utilise mpg123 -o loop dans un script bash

thomas31000
Posts: 5
Joined: Sun Dec 08, 2013 6:43 pm

Re: Comment stopper mplayer avec un clavier matriciel ?

Sun Dec 08, 2013 10:22 pm

Merci mais pour le moment ca va je n'ai pas de perte de flux.

Pour piloter un arrêt de mplayer en mode slave il faut ouvrir un second terminal et taper la commande echo 'quit'
Dans mon cas mplayer se lance automatiquement dans un script bash lors du boot init.d.
Je ne peux donc rien faire tant qu'il n'y a aucun appui sur la touche 'q' de mon clavier usb (fichier de conf de mplayer).

Le mode slave ne fonctionne pas lorsque mplayer est lancé dans la phase de boot init.d ... à moins qu'il y'est une astuce.

totoharibo
Posts: 4450
Joined: Thu Jan 24, 2013 8:43 am

Re: Comment stopper mplayer avec un clavier matriciel ?

Mon Dec 09, 2013 8:05 am

il faut ouvrir une FIFO
mkfifo /temp/<le nom que tu veux>

faire accepter par mplayer (en slave) la FIFO en entrée.

ensuite tu envoies les commandes dans le fichier
echo "quit" >/tmp/<le nom que je veux>

pour le lancement j'ai redirigé une des consoles dans /etc/inittab.

Avec l'option respawn elle se relance automatiquement.
ce n'est pas mplayer en direct mais un script appelant mon player.
Si tu m'envoies tes coordonnées je pourrais te donner le script avec des explications.

Return to “Français”