Я искал решение для воспроизведения mp3-файлов в python, и многие ответы stackoverflow (на другие вопросы), казалось, рекомендовали pyglet. Я пишу программу, которая берет фрагмент текста, разбивает его на отдельные слова, а затем загружает mp3-файлы этих слов (если они еще не загружены) с использованием gTT и воспроизводит их.Pyglet не уйдет после игры mp3
from pyglet import media, app, clock
from gtts import gTTS
import os
import time
from num2words import num2words
cwd = os.getcwd()
beep = media.load('beep.mp3', streaming = False)
def get_mp3(text):
player = media.Player()
lowertext = text.lower()
words = lowertext.split()
player.queue(beep)
for word in words:
save_path = cwd + '\\tts_downloads\\{}.mp3'.format(word)
if os.path.isfile(save_path) == False:
tts = gTTS(word, 'en-us')
tts.save(save_path)
mp3 = media.load(save_path)
player.queue(mp3)
player.queue(beep)
player.play()
app.run()
Однако я обнаружил, что после воспроизведения файлов пиглет не позволит моей программе прогрессировать. Как я могу выйти из приложения pyglet после завершения воспроизведения, чтобы мой код мог прогрессировать?
В качестве альтернативы есть другой способ, которым я могу воспроизводить mp3-файлы в python?