IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Suspendre la webradio pour jouer un son


Sujet :

Shell et commandes GNU

  1. #1
    Membre éclairé Avatar de miniil
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 267
    Par défaut Suspendre la webradio pour jouer un son
    Bonjour,

    J'aimerai développer une application "horloge" parlante sur un système tournant sous linux.

    Mais j'utilise ce système pour écouter une webradio.

    Est-il possible, lorsque ma radio est lancée via mplayer, de suspendre la webradio, de jouer un son mp3 enregistré et ensuite de relancer la webradio?

    D'avance merci pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    avec pulseaudio, il est possible de "taire" une application, sans rendre la sortie complètement silencieuse (les autres applications peuvent se faire entendre).

    il faut retrouver l'index de l'application (via pactl list sink-inputs), qu'on veut rendre silencieuse et de le paser à pactl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ pactl set-sink-input-mute $index toggle

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Et si on lance un kill -STOP (équivalent à un Ctrl-Z) au processus mplayer, ça marcherait ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    ça semble plus près de ce que demande miniil, et plus simple.

  5. #5
    Membre éclairé Avatar de miniil
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 267
    Par défaut
    Je pense avoir trouvé une solution en enregistrant le lien de la webradio quand je la lance et en l'effaçant quand je l'arrête.

    Quand je veux jouer un autre son, je vérifie si quelque chose est enregistré (webradio).

    Je kill le process de ce son webradio, je joue mon son horloge et je relance ma webradio.

    A voir sur le long terme.

  6. #6
    Invité
    Invité(e)
    Par défaut
    ça me semble bien compliqué.

    as-tu essayé la solution proposée par jack-ft ?

  7. #7
    Membre éclairé Avatar de miniil
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 267
    Par défaut
    Oui mais ça tue le process...

  8. #8
    Invité
    Invité(e)
    Par défaut
    tu n'as pas réussi à le faire revenir avec kill -SIGCONT et le PID du mplayer ?

  9. #9
    Membre éclairé Avatar de miniil
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 267
    Par défaut
    Je viens de réessayer en ligne de cmd et maintenant ça fonctionne, je ne sais pas pourquoi ça ne fonctionnait pas il y a deux jours...

    Par contre, quand je lance mon mplayer, j'ai deux process avec deux pid qui se suivent. Est-ce normal?

  10. #10
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Je ne sais pas pourquoi il y a 2 process...
    Peut-être pourrais-tu nous montrer le ps -l de ces 2 process.

    Pour info, la manière standard de récupérer le pid du process est de le lancer en tâche de fond (background) et de récupérer la valeur de la variable "!":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (for i in {1..5}; do sleep 2; echo "$i"; done) &
    p=$!              # On stocke le numéro du process dans une variable.
    kill -SIGSTOP $p  # On suspend le process.
    sleep 5           # On fait ce qu'on a à faire...
    kill -SIGCONT $p  # On réveille le process.
    Si un autre process doit accéder au numéro du process à gérer, on peut la transmettre soit en stockant la variable dans un fichier, soit par un pipe nommé.

    On peut bien sûr aussi utiliser pgrep ou pkill, si on est sûr de bien cibler le processus à gérer, sans risque de toucher par inadvertance au processus du voisin !

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jack-ft Voir le message
    Pour info, la manière standard de récupérer le pid du process est de le lancer en tâche de fond (background) et de récupérer la valeur de la variable "!":

    pour libérer le terminal. Je ne mettrais pas un process en arrière plan QUE pour récupérer son PID.

    sinon, pgrep, pidof ? voire ps h -C <cmd> -o pid.

    firefox, par exemple, traîne aussi une ribambelle de PID.

Discussions similaires

  1. Création de zones de clics sur une image pour jouer plusieurs sons
    Par bahh66 dans le forum Général JavaScript
    Réponses: 29
    Dernier message: 02/10/2018, 19h17
  2. Réponses: 3
    Dernier message: 31/10/2014, 03h31
  3. Problème pour jouer un son en boucle
    Par Fleur du Pays dans le forum Multimédia
    Réponses: 1
    Dernier message: 26/05/2011, 14h35
  4. Probleme pour jouer un son
    Par xvid110 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/04/2008, 14h45
  5. [VB6]Coder un bouton pour jouer du son [debutant]
    Par MegaBigBoss dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 16/03/2006, 21h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo