Pygame不播放音频

时间:2018-07-12 19:40:22

标签: python pygame

这是我的代码:

from gtts import gTTS
import pygame

def speak(audioString):
    tts = gTTS(text=audioString, lang='en')
    tts.save('audio.mp3')
    pygame.mixer.init()
    pygame.mixer.music.load('audio.mp3')
    pygame.mixer.music.play()

speak('hello')

它创建了“ audio.mp3”文件,但我听不到任何声音。有任何猜想吗? 也许我应该使用其他东西?

2 个答案:

答案 0 :(得分:2)

播放功能是异步的,并且会立即返回,因此您应该添加一些内容以使其停止并等待退出。

为确保您等待的时间不长,可以使用以下代码段:

while pygame.mixer.music.get_busy(): 
    pygame.time.Clock().tick(10)

编辑:还有一种更好的方法,使用pygame.event.wait(),它将等待所有异步任务结束。

答案 1 :(得分:1)

尝试将.mp3文件转换为.ogg-pygame库文件中正式支持后者的扩展名。转换解决了我遇到的问题中的一个。