CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Probleme simulation de clavier

hhffjjkk
hhffjjkk
Niveau 7
14 mai 2014 à 14:15:21

Salut,

Je cherche à contrôler un lecteur audio dans le terminal linux grâce au langage C

Le lecteur audio que j'utilise s'appelle mpg123, il se lance dans le terminale et on peut le controler par exemple si on appuie sur "s" sur le clavier la musique se stoppe.

J'ai installé un paquet qui permet de simuler l'appuie sur une touche

dans mon programme C j'ai tapé ça:

system("mpg123 -C musique.mp3"); //lance musique.mp3 dans mpg123
sleep(5);//dort 5 secondes
system(xdotool key s);//simuler l'appuie sur s au clavier

problème: la musique se lance mais l'appui sur "s" ne se fait pas.

ma question: est-ce que simuler une touche pour interargir avec mpg123 est la bonne technique? si oui pourquoi ca ne marche? si non, comment faire autrement?

Merci :ok:

hhffjjkk
hhffjjkk
Niveau 7
14 mai 2014 à 14:56:11

apparemment system() ne redonne la main qu'après avoir fini d'executer la commande en paramètre, ça pourrait venir de là?

Pseudo supprimé
Pseudo supprimé 14 mai 2014 à 16:44:40

Oui, ça vient bien de là.

hhffjjkk
hhffjjkk
Niveau 7
14 mai 2014 à 16:49:39

et donc comment faire pour envoyer des commandes à mpg123 en execution?

godrik
godrik
Niveau 30
14 mai 2014 à 17:06:35

utilise fork/exec au lieu de system. Pour le controle de mpg123, ca depend comment il prends le clavier (en accedant le terminal ou en ecoutant l'entree standard). Tu peux essayer de controlle son entree standard et de voir si ca marche.

godrik
godrik
Niveau 30
14 mai 2014 à 17:09:43

bon, il utilise les term attributes. Donc hacker l'entree standard ne va pas marcher.

godrik
godrik
Niveau 30
14 mai 2014 à 17:15:37

En passant, ca ne serait pas plus simple d'utiliser mpd et un de ses front end ?

hhffjjkk
hhffjjkk
Niveau 7
14 mai 2014 à 18:43:56

désolé je n'ai pas compris ton dernier message, à savoir "mpd" et "front end", tu pourrai développer? :hap:

et oui j'ai utilisé fork/exec mais ca ne marchait pas non plus

godrik
godrik
Niveau 30
14 mai 2014 à 19:42:41

http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki

hhffjjkk
hhffjjkk
Niveau 7
14 mai 2014 à 20:20:20

d'accord pour mpd c'est, mais pour frontend? j'ai fait des recherches je n'ai pas compris ce que c'était.

pour ne pas limiter la question au langage C je vous explique ce que je veux faire, je recois un message et en fonction de ce message par exemple "pause", "lecture", "musique suivante", j'execute l'action.

nounoursheureux
nounoursheureux
Niveau 10
14 mai 2014 à 20:42:38

Un front-end c'est une interface. Pour mpd tu as notamment MPC ou ncmpcpp

hhffjjkk
hhffjjkk
Niveau 7
14 mai 2014 à 23:28:41

ah je vois ce que voulais dire godrik, il voulait que j'utilise le programme avec une interface mais je ne veux pas faire ça, en fait je dois controler le lecteur audio par la voix.

je n'expose ici que la partie où je recois le message vocal transcrit en texte, je recois "lecture", il va lire la musique, donc je suis obligé d'envoyer des commandes au lecteur audio

hhffjjkk
hhffjjkk
Niveau 7
16 mai 2014 à 10:35:23

j'up :up:

hhffjjkk
hhffjjkk
Niveau 7
16 mai 2014 à 21:47:33

bon j'ai testé avec vlc et ca marche

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment