WIN7使用pyttsx3初始化失败init()解决办法:

首先,win10,11使用没有任何问题。使用方法很普通:

import pyttsx3

pt = pyttsx3.init()
pt.setProperty('rate', 120)
pt.setProperty('volume', 0.7)
pt.say("hello,测试)
pt.runAndWait()

但是换到WIN7的时候就出问题了。
部分错误截图
看错误就是初始化的问题。针对这个问题,我们可以尝试使用其他的包,但是我们这里就针对解决这个包的问题。

前提补充,win7不支持3.9版本及以上,所以我使用的是3.8.8版本,但是3.8.10版本能不能用看资料是能用,但是我印象中是不能用的。
首先,确认WIN7电脑是否安装了语音识别模块,并且该模块没有问题。没有解决进行下一步。
再次,把pyttsx3包换用2.7.1版本,我之前用的是python3.8.8+pyttsx32.9.0,所以出问题了。
再次,重装pypiwin32,然后再安装pyttsx32.7.1。
.最后,init进行传参,init(‘dummy’)或init(‘sapi5’)。因为最新版本有一些未解决的提交问题,需要为init提供一个驱动程序键参数,‘dummy’或’sapi5’,我的项目是需要sapi5才会有声音,要不没有声音。

可以用以下格式编写代码:

try:
	pt = pyttsx3.init('sapi5')
except:
	try:
		pt =- pyttsx3.init()
	except:
		try:
			pt = pyttsx3.init('dummy')

出现的错误:

Traceback (most recent call last):
File “pyttsx3_init_.py”, line 20, in init
File “weakref.py”, line 131, in getitem
KeyError: None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “main.py”, line 33, in
File “auto_web.py”, line 32, in auto_web.begin
File “pyttsx3_init_.py”, line 22, in init
File “pyttsx3\engine.py”, line 30, in init
File “pyttsx3\driver.py”, line 52, in init
File “pyttsx3\drivers\sapi5.py”, line 30, in buildDriver
File “pyttsx3\drivers\sapi5.py”, line 47, in init
File “pyttsx3\drivers\sapi5.py”, line 90, in getProperty
_ctypes.COMError: (-2147200966, None, (None, None, None, 0, None))

错误如上:不是打包时包的问题,win10可以正常运行,但是win7不能运行,原因时win7的语音包有问题,修复一下即可,建议还是使用win10以上的系统。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值