LAV Audio Decoder каждый раз
Добрый день!
Передо мной стоит задача (сам себе поставил) написать программу, которая при изменении изображения в определенной области экрана, выдавала бы мне звуковой сигнал.
На данный момент, программа более менее работает. Применяю TKinter в том числе, для взаимодействия с программой без терминала. Пытаюсь решить две проблемы:
- Нужно поддерживать цикл while и root.mainloop() одновременно;
- Звуковой декодер LAV Audio Decoder запускается каждый раз, когда цикл while воспроизводит звук. Воспроизвожу через библиотеку playsound.
(p.s. пусть не активированная ОС никого не смущает:) )
Мой код целиком:
from re import I
from time import sleep
import tkinter
from tkinter.scrolledtext import ScrolledText
from cv2 import repeat
import numpy as np
import pyautogui
import imutils
import cv2
import os
from tkinter import BOTH, END, HORIZONTAL, Tk, scrolledtext, ttk
from matplotlib import image
from playsound import playsound
from threading import Thread
import time
import secrets
import string
root = Tk()
root["bg"] = ""
root.title("Мое первое окно")
root.geometry("400x225")
root.resizable (width=False, height=False)
#-----Кнопка "Закрыть"
def buttonQuit():
root.quit()
button = ttk.Button(root, text="Закрыть", command=buttonQuit)
button.pack()
#-----Кнопка "Старт"
def buttonCallback():
console.configure(state='normal') # enable insert
console.insert(END, "True" + '\n')
console.yview(END) # autoscroll
console.configure(state='disabled') # disable editing
return True
button = ttk.Button(root, text="Старт", command=buttonCallback)
button.pack()
#-----Кнопка "Стоп"
def buttonCallback():
console.configure(state='normal') # enable insert
console.insert(END, "False" + '\n')
console.yview(END) # autoscroll
console.configure(state='disabled') # disable editing
return False
button = ttk.Button(root, text="Стоп", command=buttonCallback)
button.pack()
#Поиск на экране по картинке
#template = pyautogui.locateOnScreen('F:\coding\EVE Online Hacking\icon.png')
#print(template)
while buttonCallback:
screen1 = pyautogui.screenshot("screen1.png", region=(68,277, 23, 20))
a = os.path.getsize("screen1.png")
b = os.path.getsize("screen2.png")
if a != b:
playsound("icq.mp3", False)
screen2 = pyautogui.screenshot("screen2.png", region=(68,277, 23, 20))
time.sleep(0.5)
console = scrolledtext.ScrolledText(root, state='disable')
console.pack()
root.mainloop()
Помогите разобраться с двумя проблемами, пожалуйста.
P.s. кнопки и консоль нужны для проверок, в программе на данный момент не учавствуют
