这是我的代码:
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”文件,但我听不到任何声音。有任何猜想吗? 也许我应该使用其他东西?
答案 0 :(得分:2)
播放功能是异步的,并且会立即返回,因此您应该添加一些内容以使其停止并等待退出。
为确保您等待的时间不长,可以使用以下代码段:
while pygame.mixer.music.get_busy():
pygame.time.Clock().tick(10)
编辑:还有一种更好的方法,使用pygame.event.wait()
,它将等待所有异步任务结束。
答案 1 :(得分:1)
尝试将.mp3文件转换为.ogg-pygame库文件中正式支持后者的扩展名。转换解决了我遇到的问题中的一个。