我正在尝试制作一个使用gTTS播放文本到语音的程序。

import gtts
import winsound
import time

def playtts(strin):
    fl = gtts.gTTS(text = strin, lang = 'en')
    fl.save('temp.wav')
    time.sleep(3)
    winsound.PlaySound('temp.wav', winsound.SND_FILENAME | winsound.SND_NOSTOP | winsound.SND_NODEFAULT)

playtts("HELLO THERE")

当我运行它时,我得到:
  File "[DATA EXPUNGED]", line 14, in <module>
    playtts("HELLO THERE")
  File "[DATA EXPUNGED]", line 12, in playtts
    winsound.PlaySound('temp.wav', winsound.SND_FILENAME | winsound.SND_NOSTOP | winsound.SND_NODEFAULT)
RuntimeError: Failed to play sound
>>>

当我在Media Player中打开文件时,它工作正常。为什么会引发错误?

最佳答案

import gtts
import winsound
import time,os

def playtts(strin):
    fl = gtts.gTTS(text = strin, lang = 'en')
    fl.save('temp.wav')
    time.sleep(3)
    os.system("start temp.wav")


playtts("whiskers whats up")

这是一种无需winsound的方法,它可以打开媒体播放器,然后为您和您播放。

关于python - Python WinSound:写入wav后出现运行时错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40335538/

10-10 15:55