Pyqt5 gui çökmesi

def mic_on_off_fonk(self):
        
        import speech_recognition
        from playsound import playsound
        import os
        from gtts import gTTS
        import random

        reco = speech_recognition.Recognizer()

        def speak(text):
            tts = gTTS(text, lang='tr', slow=False)
            rand = random.randint(1,10000)
            file = 'audio-'+str(rand)+'.mp3'
            tts.save(file)
            playsound(file)
            os.remove(file)
        

        while True:
            try:
                with speech_recognition.Microphone() as mic:
                    reco.adjust_for_ambient_noise(mic, duration=0.5)
                    audio = reco.listen(mic)

                    text = reco.recognize_google(audio, language='tr-TR')
                    text = text.lower()

                    print(text)
                    speak(text)

                    
                    if 'görüşürüz' in text:
                        speak('Seninle konuşmak güzeldi.')
              
                    elif 'spotify' in text:
                        speak('spotify açılıyor')
                        os.system("C:\\Users\\Administrator\\AppData\\Roaming\\Spotify\\Spotify.exe")
                        print('spotify açıldı senin için son çalınan müziği başlatıyorum.')
                        keyboard.press('space')

(burası sadece mikrofon butonuna bastıktan sonra çalışıcak olan fonksiyon)
ufak çaplı bir pyqt5 gui tasarımı yapıyordum. içerisinde sesli asistan da eklemek istemiştim. buraya kadar herşey normaldi ancak spotifyı açıp son kalan müziği oynatmasını istediğimde gui çöküyor. açılmadıgı için mi acaba dedim ve time.sleep(10) ekledim yine aynı hatta print() bile döndermeden çöküyor. bu olayı nasıl açabilirim. şimdiden cevaplarını için teşekkür derim. :slight_smile:

1 Beğeni

Merhaba, hata mesajını paylaşabilir misin hatanın ne olduğunu anlayabilmemiz için. Birde try’a bir except ekle ve Exception ı yazdır sorunu net olarak anlarsın ve bildiğim kadarıyla try except siz çalışmaz hatan bu olabilir eğer except ile işin yoksa bile except pass at. Hatanın ne olduğunu bilmediğim için aklıma bu geldi şuanlık.

Şu fonksioyununu Thread kullanarak çağır. Mesela butona tıkladığında aşağıdakı fonksiyonu çalıştırsın

#modülü import yap
from threading import Thread 

def fonk_calistir(self) :
	Thread( target= self.mic_on_off_fonk, daemon = True).start()

Butona basınca şu fonksiyonu çalıştır