при уничтожении Tkinter (уничтожить его в многопоточности) возникает проблема
import tkinter as tk import threading import pyaudio import wave import speech_recognition как sr время импорта import tkinter as tk
глобальная остановка останова = 0
глобальная отсчет счетчика = 0
def audiorecord ():
FORMAT = pyaudio.paInt16
CHANNELS = 2
RATE = 44100
CHUNK = 1024
RECORD_SECONDS = 5
WAVE_OUTPUT_FILENAME = "file.wav"
audio = pyaudio.PyAudio()
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True,
frames_per_buffer=CHUNK)
frames = []
global stop
while stop == 0:
data = stream.read(CHUNK)
frames.append(data)
print("finished recording")
stream.stop_stream()
stream.close()
audio.terminate()
waveFile = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
waveFile.setnchannels(CHANNELS)
waveFile.setsampwidth(audio.get_sample_size(FORMAT))
waveFile.setframerate(RATE)
waveFile.writeframes(b''.join(frames))
waveFile.close()
def остановлена (): глобальная остановка, корневая остановка = 1 попытка: root.quit () кроме Исключения как e: print (e)
try: def tkinter ():
global root
root = tk.Tk()
btn12 = tk.Button(root, text = "stop recording", command=stopped)
btn12.pack()
root.mainloop()
ISSSUE OCCUR HERER
root.destroy()
кромеИсключение как e: print (e)
try:
#start from here ------ multithreading
recording = threading.Thread(target=audiorecord, args=())
stops = threading.Thread(target=tkinter, args=())
recording.start()
stops.start()
recording.join()
stops.join()
, за исключением исключения как e: print («not success», e)