首页 > 解决方案 > 如何在 Python 3 中直接播放音频文件?

问题描述

我正在python中尝试gTTS(Google Text To Speach)功能,保存mp3文件有效(文件正在保存并且可以播放)。

现在我试图用下面的代码直接播放文件,但它抛出了一个错误

代码:

import gtts
import pyglet
import os
import time

text = ("Hello World")

obj = gtts.gTTS(text=text, lang='en')
speech_filename = 'c:/test_voice.mp3'
obj.save(speech_filename)

print("Play sound...")

music = pyglet.media.load(speech_filename, streaming=False)
music.play

sleep.time(music.duration) #prevent from killing
os.remove(speech_filename) #remove temp file

错误:

Traceback(最近一次通话最后):文件“C:\python\text-to-speach.py​​”,第 16 行,在 music = pyglet.media.load(speech_filename, streaming=False)

文件“C:\Python\lib\site-packages\pyglet\media\sources\loader.py”,第 63 行,在 load source = get_source_loader().load(filename, file)

文件“C:\Python\lib\site-packages\pyglet\media\sources\loader.py”,第 84 行,加载返回 WaveSource(文件名,文件)

文件“C:\Python\lib\site-packages\pyglet\media\sources\riff.py”,第 200 行,在init

'AVbin 需要解码压缩媒体') pyglet.media.sources.riff.WAVEFormatException: AVbin 需要解码压缩媒体

标签: python-3.x

解决方案


它正在寻找 AVbin,检查以下内容会对您有所帮助 https://stackoverflow.com/questions/10302873/python-pyglet-avbin-how-to-install-avbin


推荐阅读