You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用pyttsx3调用getProperty()报参数过多错误如何解决

报错原因

pyttsx3库的getProperty()方法作用是获取指定属性的当前值,仅支持传入1个参数(目标属性的名称)。你在调用时额外传入了第二个参数100,不符合方法的参数要求,因此抛出参数数量不匹配的TypeError。
你原本的需求是修改语音语速,应该调用用来设置属性的setProperty()方法,而非获取属性的getProperty()。

解决方法

将错误行的getProperty替换为setProperty,同时补充修复代码中其他小问题(stop方法未执行、语音设置行的参数错误),修改后的完整代码如下:

import pyttsx3

# 该函数用于处理文本并转为语音播放
def speak(lis):
    voiceEngine = pyttsx3.init() 
    # 设置语速为100,用setProperty而非getProperty
    voiceEngine.setProperty("rate", 100)
    # 如果要使用指定语音,修改setProperty第一个参数为'voice',示例如下
    # voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\IVONA 2 Voice Brian22" 
    # voiceEngine.setProperty('voice', voice_id) 
    voiceEngine.say(lis)
    voiceEngine.runAndWait() 
    # stop是方法,需要加括号执行
    voiceEngine.stop()

speak(lis = "Hello i am alpha, your personal digital assistant. how may i be of your assistance")

内容的提问来源于stack exchange,提问作者Swagata Acharjee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 16:06:02