[Dernier article] Comme vous pouvez le voir sur (https://qiita.com/tkmktdm/items/6f8e363858f4061d8cfd), la dernière fois, lors de l'enregistrement automatique, il n'a été enregistré que dans le même fichier. Cependant, à la suite de l'écriture d'un fichier html et du chargement du fichier audio avec javascript, dois-je le rouvrir ou charger un autre fichier? Je voulais le voir. (Je ne connais pas les détails lol)
Préparez les variables globales dans le fichier programme principal créé la dernière fois et comptez le nombre envoyé.
Utilisez l'outil Inspecter pour trouver l'emplacement dans le champ Nom [Combo Box] sous Enregistrer sous. Ensuite, la variable globale préparée dans main est placée là et reçoit un nom différent.
aitalk.py
import wave
import winsound as ws
import tkinter
import sys
import tkinter.messagebox as tkm
import time
from voice2 import talkVOICEROID2
from voiceroid2_1 import talkVOICEROID2_1
from voiceroid2_2 import talkVOICEROID2_2
from voiceroid2_3 import talkVOICEROID2_3
from voiceroid2_4 import talkVOICEROID2_4
import time
#Définir pour une utilisation mondiale(Pour compter les temps)
setnumber = 0
root=tkinter.Tk()
root.geometry("1920x1080")
root.title(u"aoi talk")
kotonoha=tkinter.PhotoImage(file="C:/Users/takumi/Desktop/voice/01.png ")
canvas=tkinter.Canvas(bg="white",width=475,height=750)
canvas.place(x=1300,y=250)
canvas.create_image(0,0, image=kotonoha, anchor=tkinter.NW)
def addlist(text):
mysay="you: "+ text
print(mysay)
listbox.insert(tkinter.END,mysay)
chat = "Aoi: " + talk(text)
Entry1.delete(0, tkinter.END)
chatCut(chat)
def chatCut(chat):
aoi=chat
addRep(aoi)
def addRep(aoi):
listbox.insert(tkinter.END, aoi)
global setnumber
setnumber+=1
#Traitement de la voix
voiceroid=aoi[5:]
voiceroid=voiceroid+"Tsu"
word=len(voiceroid)
destime=round(word/7+0.1,1)
#destime=round(word/7+1.1,1)
#Si vous ne pouvez pas parler sur le bureau, ajoutez le commentaire suivant
talkVOICEROID2(voiceroid)
time.sleep(destime)
print(destime)
#-----------zzz
talkVOICEROID2_1(voiceroid)
time.sleep(0.3)
talkVOICEROID2_2(voiceroid,setnumber)
time.sleep(0.2)
talkVOICEROID2_3(voiceroid)
time.sleep(0.2)
talkVOICEROID2_4(voiceroid)
def talk(say):
if say == 'end':
return ('à plus')
else:
return (say)
static=tkinter.Label(text=u"Parlez à Aoi-chan!")
static.pack()
Entry1=tkinter.Entry(width=50)
Entry1.insert(tkinter.END,u"Bonjour")
Entry1.pack()
button=tkinter.Button(text=u"Envoyer", width=50,command=lambda: addlist(Entry1.get()))
button.pack()
listbox=tkinter.Listbox(width=55,height=15)
listbox.pack()
root.mainloop()
** Modifier uniquement le fichier voiceroid2_2.py **
voiceroid2_2.py
#Deuxième fois
# -*- coding: utf-8 -*-
import pywinauto
def search_child_byclassname_2(class_name, uiaElementInfo, target_all = False):
target = []
#Rechercher tous les éléments enfants
for childElement in uiaElementInfo.children():
#Confirmation de correspondance de nom de classe
if childElement.class_name == class_name:
if target_all == False:
return childElement
else:
target.append(childElement)
if target_all == False:
#Faux sinon
return False
else:
return target
def search_child_byname_2(name, uiaElementInfo):
#Rechercher tous les éléments enfants
for childElement in uiaElementInfo.children():
#Confirmation de correspondance de nom
if childElement.name == name:
return childElement
#Faux sinon
return False
def talkVOICEROID2_2(speakPhrase,num):
setnumber=str(num) + ".wav"
print(setnumber)
#Éléments de bureau
parentUIAElement = pywinauto.uia_element_info.UIAElementInfo()
#Rechercher voiceroid
voiceroid2 = search_child_byname_2("VOICEROID2",parentUIAElement)
# *Si est attaché
if voiceroid2 == False:
voiceroid2 = search_child_byname_2("VOICEROID2*",parentUIAElement)
#Changer d'ici
#Enregistrer sous Get ElementInfo de l'élément
saveEle = search_child_byclassname_2("#32770",voiceroid2)
#Modifier le nom
win = search_child_byclassname_2("DUIViewWndClassName",saveEle)
winwin = search_child_byclassname_2("AppControlHost",win)
filewin = search_child_byclassname_2("Edit",winwin)
textBoxEditControl = pywinauto.controls.uia_controls.EditWrapper(filewin)
textBoxEditControl.set_edit_text(setnumber)
playsaveEle = search_child_byclassname_2("Button",saveEle,target_all = False)
#Obtenir le contrôle du bouton
playButtonControl = pywinauto.controls.uia_controls.ButtonWrapper(playsaveEle)
#Appuyez sur le bouton de lecture
playButtonControl.click()
Cette fois aussi, j'ai pu l'enregistrer dans un autre fichier et j'ai réussi! !! Veuillez noter que la structure sous Windows peut être différente selon la personne! (;^ω^)
Recommended Posts