Загрузка...

Как обратится к функции запущенной в потоке python

Тема в разделе Python создана пользователем ega666888123 5 дек 2020. 108 просмотров

  1. ega666888123
    ega666888123 Автор темы 5 дек 2020 1 2 май 2019
    Здравствуйте всем, проблема такая:
    У меня есть класс в котором проигрывается музыка. При команде он выполняется в потоке. Музыка играет, все нормально. Но когда я хочу остановить музыку, мне нужно в идущем потоке вызвать класс stop(). Как это сделать?
    Код:
    Это то где мне нужно выполнить функцию в потоке:

    if song != 'None':
    cursor.execute(f"UPDATE main SET song = 'None' where id = 1")
    conn.commit()
    global t1
    print( dir(t1) )
    if t1 != "None":
    t1.stop()
    t1.join()
    это запуск потока:
    t1 = Thread(target = x.music, args = ( convert[0].get('href'), ))
    t1.start()

    класс:

    class xyi:

    def __init__(self, href):
    self.song = None
    self.href = href
    music()

    def music(self):
    self.song = vlc.MediaPlayer(self.href)
    self.song.play()

    def stop(self):
    self.song.stop()
     
Top
Загрузка...