Как одновременно воспроизвести музыку и печатать текст?
Подскажите пожалуйста как осуществить следующую идею: Вывожу на экран текст с эффектом печатной машинки(В переменной introduction лежит многострочная строка):
for introduction in introduction:
time.sleep(0.05)
print(introduction, end = "", flush=True)
Так же написал код для запуска нужного мне файла .mp3 (использую Pyglet):
import pyglet
WelcomeSong = pyglet.media.load('music/welcome.mp3')
WelcomeSong.play()
pyglet.app.run()
Как два этих кода запустить одновременно? Т.е. мне нужно чтобы на экране печатался текст из переменной introduction и в это же время было музыкальное сопровождение из файла .mp3
Спасибо!
Ответы (1 шт):
Автор решения: ddgryaz
→ Ссылка
Разобрался с этим вопросом сам, с помощью библиотеки для работы с потоками threading. Вот что получилось:
import time
import threading
from config import introduction
import pyglet
def WelcomePrintMashin():
for introductions in introduction:
time.sleep(0.05)
print(introductions, end="", flush=True)
def WelcomMusic():
WelcomeSong = pyglet.media.load('music/welcome.mp3')
WelcomeSong.play()
pyglet.app.run()
def play1():
while time.time() <= start_time:
pass
threading.Thread(target=WelcomMusic()).start()
def play2():
while time.time() <= start_time:
pass
threading.Thread(target=WelcomePrintMashin()).start()
start_time=time.time()+1
welcommusicrun = threading.Thread(target=play1).start()
welcomprintmashinrun = threading.Thread(target=play2).start()
welcommusicrun
welcomprintmashinrun
По итогу поставленная задача была решена, код запускается и две нужных функции работают одновременно. Всем спасибо!