Я нашел решение моего вопроса, и таилось оно в самом начале. Я невероятно и злобно удивлен, что все оказалось так просто. Ведь изначально я искал, как соорудить такую конструкцию, чтобы и текст печатался и звук воспроизводился, читал про pyglet, pygame, GStreamer и кучу разных вариантов. В итоге к pyglet'у добавилось threading - многопоточность. Все сильно усложнилось, продолжая искать решение своего вопроса, а как оказалось еще и невероятное упрощение, я наткнулся на playsound.
В итоге
вместо кода который вы видите в вопросе
import time
import threading
import pyglet
from colorama import init
from colorama import Fore, Back, Style
def WelcomePrintMashin():
for introductions in introduction:
time.sleep(0.05)
print(Fore.CYAN + introductions, end="", flush=True)
def WelcomMusic():
WelcomeSong = pyglet.media.load('music/welcom11.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
threading.Thread(target=play1).start()
threading.Thread(target=play2).start()</spoiler>
я использовал playsound:
from playsound import *
import time
def MusicPrintMashin():
playsound('D:/PythonProject/welcom.mp3', block=False)
for introductions in introduction:
time.sleep(0.05)
print(introductions, end="", flush=True)
Требуется один аргумент - путь к файлу со звуком, который вы хотите воспроизвести. Это может быть локальный файл или URL-адрес.
Существует необязательный второй аргумент block, для которого по умолчанию установлено значение True. Если установить значение False, функция будет работать асинхронно.
Это мне и нужно было! В общем я еще не определился что мне делать, радоваться что я разобрался как решить мою задачу, или улыбчиво злиться, что я потратил кучу времени чтобы разобраться с многопоточностью - threading.
Надеюсь будет кому полезно!