gpt4 book ai didi

python - Pyttsx3 runAndWait() 方法卡住

转载 作者:行者123 更新时间:2023-12-02 16:57:04 27 4
gpt4 key购买 nike

我正在尝试使用 pyttsx3 模块在 python 中创建一个虚拟助手。问题是我使用 pyttsx3 的说话(音频)方法只说一次,即使我不得不说不止一次,它在第一个命令后仍然保持沉默。

事实是,我一直在网上查找,似乎没有人遇到与我遇到的问题类似的问题,我有点抓狂了。我已经看到模块安装不正确或其他问题是否有问题,但似乎一切都井井有条。我使用的是 Python 3.7 版本、Pycharm IDE、Pyttsx3 最新版本和 Windows10。

我附上代码,看看你是否知道这是为什么。我已经在互联网上搜索过,但似乎没有人遇到这个问题,所以我想这可能是我的代码中的一些错误。输出为计算机:您好,先生,我是您的数字助理 LARVIS the Lady Jarvis! ans 也应该打印下一行:

import pyttsx3

engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[len(voices) - 2].id)


def speak(audio):
print('Computer: ' + audio)
engine.say(audio)
engine.runAndWait()

if __name__ == '__main__':
speak('Hello Sir, I am your digital assistant LARVIS the Lady Jarvis!')
speak('How may I help you?')

最佳答案

处理这个问题:

  1. 为 pyttsx3 创建一个类;
  2. 创建一个类的实例,将文本发送给它,然后 del() 它。
  3. 重复步骤 2 几次。

类(class):

import pyttsx3

class _TTS:

engine = None
rate = None
def __init__(self):
self.engine = pyttsx3.init()


def start(self,text_):
self.engine.say(text_)
self.engine.runAndWait()

实例:

 tts = _TTS()
tts.start("text")
del(tts)

关于python - Pyttsx3 runAndWait() 方法卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56032027/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com