【发布时间】:2016-08-12 18:10:28
【问题描述】:
我一直在寻找在 python 中播放 mp3 文件的解决方案,并且许多 stackoverflow 答案(对其他问题)似乎推荐 pyglet。我正在编写一个程序,它将一段文本分解成单个单词,然后使用 gTT 下载这些单词的 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 不会让我的程序继续进行。播放完成后如何退出 pyglet 应用程序,以便我的代码可以继续?
还有其他方法可以让我在 python 中播放 mp3 文件吗?
【问题讨论】: