Pages : 1
#1 Le 10/03/2022, à 14:45
- pescadou999
Tkinter et Playsound
Bonjour,
Voici un petit exemple de ce qui me chagrine, la fenetre tk devrait apparaitre et ensuite la voix devrait dire Hello les gars
Mais la voix donne le message AVANT de créer la fenêtre tk, c'est gênant surtout dans un long script où tous les messgaes sont lus avant d'afficher la fen tk et ses widgets
Qu"en pensez vous ? (tous les modules sont installés
Merci d'avance si vous avez une réponse
Pierre
f
from tkinter import *
root=Tk()
from gtts import gTTS
def makeMP3(words,language="fr"):
import playsound
tts = gTTS(words, lang=language)
tts.save("tmp.mp3")
playsound.playsound("tmp.mp3")
makeMP3("Hello les gars")
root.mainloop()
Hors ligne
#2 Le 10/03/2022, à 17:25
- Vobul
Re : Tkinter et Playsound
Ça me semble logique que makeMP3 soit executé avant que la fenêtre s'affiche car il est appellé avant.
Vobul
Utilisez le retour utilisable de commandes !!!
J'aime la langue française, mais je parle franglais, deal with it.
RTFM
Hors ligne
#3 Le 10/03/2022, à 17:40
- pescadou999
Re : Tkinter et Playsound
Bin non c'est pas logique car root=Tk() doit déclencher l"apparition de la fenetre AVANT
Hors ligne
#4 Le 11/03/2022, à 06:30
- Compte supprimé
Re : Tkinter et Playsound
Bonjour,
Ceci est lié au fait que ta fonction bloque le mainloop():
Tant que ta fonction garde la main le mainloop() n'est pas exécuté.
Avec tkinter, (programmation événementielle) le mainloop() ne doit jamais être bloqué.
note: les import doivent tous se faire en début de programme
#5 Le 11/03/2022, à 07:54
- pescadou999
Re : Tkinter et Playsound
oui tu as raison c'est le mainloop() qui est bloqué
comme ceci ça marche , avec le Button qui ne bloque pas le mainloop()
merci
from tkinter import *
from gtts import gTTS
import playsound
def parle():
tts = gTTS("Hello les gars",lang="fr")
tts.save("tmp.mp3")
playsound.playsound("tmp.mp3")
root=Tk()
root.title("test")
bouton=Button(root,text="parle",command=parle)
bouton.grid()
root.mainloop()
Hors ligne
Pages : 1