[Letzter Artikel] Wie Sie unter (https://qiita.com/tkmktdm/items/6f8e363858f4061d8cfd) sehen können, wurde es beim letzten automatischen Speichern nur in derselben Datei gespeichert. Muss ich sie jedoch nach dem Schreiben einer HTML-Datei und dem Laden der Audiodatei mit Javascript erneut öffnen oder eine andere Datei laden? Ich wollte es sehen. (Ich kenne die Details nicht lol)
Bereiten Sie globale Variablen in der zuletzt erstellten Hauptprogrammdatei vor und zählen Sie die gesendete Anzahl.
Verwenden Sie das Inspektionswerkzeug, um die Position im Feld Name [Kombinationsfeld] unter Speichern unter zu finden. Dann wird die in main vorbereitete globale Variable dort eingefügt und erhält einen anderen Namen.
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
#Für den globalen Gebrauch definieren(Zum Zählen von Zeiten)
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
#Sprachverarbeitung
voiceroid=aoi[5:]
voiceroid=voiceroid+"Tsu"
word=len(voiceroid)
destime=round(word/7+0.1,1)
#destime=round(word/7+1.1,1)
#Wenn Sie auf dem Desktop nicht sprechen können, fügen Sie den folgenden Kommentar hinzu
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 ('wir sehen uns')
else:
return (say)
static=tkinter.Label(text=u"Sprich mit Aoi-chan!")
static.pack()
Entry1=tkinter.Entry(width=50)
Entry1.insert(tkinter.END,u"Hallo")
Entry1.pack()
button=tkinter.Button(text=u"Senden", width=50,command=lambda: addlist(Entry1.get()))
button.pack()
listbox=tkinter.Listbox(width=55,height=15)
listbox.pack()
root.mainloop()
** Nur die Datei voiceroid2_2.py ändern **
voiceroid2_2.py
#Zweites Mal
# -*- coding: utf-8 -*-
import pywinauto
def search_child_byclassname_2(class_name, uiaElementInfo, target_all = False):
target = []
#Durchsuchen Sie alle untergeordneten Elemente
for childElement in uiaElementInfo.children():
#Bestätigung der Übereinstimmung mit ClassName
if childElement.class_name == class_name:
if target_all == False:
return childElement
else:
target.append(childElement)
if target_all == False:
#Falsch wenn nicht
return False
else:
return target
def search_child_byname_2(name, uiaElementInfo):
#Durchsuchen Sie alle untergeordneten Elemente
for childElement in uiaElementInfo.children():
#Bestätigung der Namensübereinstimmung
if childElement.name == name:
return childElement
#Falsch wenn nicht
return False
def talkVOICEROID2_2(speakPhrase,num):
setnumber=str(num) + ".wav"
print(setnumber)
#Desktop-Elemente
parentUIAElement = pywinauto.uia_element_info.UIAElementInfo()
#Suche nach Voiceroid
voiceroid2 = search_child_byname_2("VOICEROID2",parentUIAElement)
# *Wenn beigefügt ist
if voiceroid2 == False:
voiceroid2 = search_child_byname_2("VOICEROID2*",parentUIAElement)
#Wechsel von hier
#Speichern Sie als Get ElementInfo des Elements
saveEle = search_child_byclassname_2("#32770",voiceroid2)
#Namen bearbeiten
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)
#Holen Sie sich die Tastensteuerung
playButtonControl = pywinauto.controls.uia_controls.ButtonWrapper(playsaveEle)
#Drücken Sie die Wiedergabetaste
playButtonControl.click()
Auch diesmal konnte ich es in einer anderen Datei speichern und es gelang mir! !! Bitte beachten Sie, dass die Struktur in Windows je nach Person unterschiedlich sein kann! (;^ω^)