Я искал решение для воспроизведения mp3-файлов в python, и многие ответы на stackoverflow (на другие вопросы), похоже, рекомендовали pyglet. Я пишу программу, которая берет фрагмент текста, разбивает его на отдельные слова, а затем загружает mp3-файлы этих слов (если они еще не загружены) с помощью gTT и воспроизводит их.
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 не позволяет моей программе работать. Как я могу выйти из приложения pyglet после завершения воспроизведения, чтобы мой код мог продолжить работу?
В качестве альтернативы есть ли другой способ воспроизведения mp3-файлов в python?