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

调用自定义time()函数时pyttsx3无语音输出如何解决

pyttsx3调用自定义time函数无声音修复方案

核心错误原因

你的代码存在变量引用错误:你把格式化后的时间存在了大写开头的Time变量中,但调用speak()时传入的是小写的time,也就是你定义的time函数对象本身,pyttsx3无法对函数对象执行朗读操作,因此没有声音输出。

修复后代码

import pyttsx3
import datetime

friday = pyttsx3.init()
voice = friday.getProperty("voices")
friday.setProperty('voice', voice[1].id)

def speak(audio):
    friday.say(audio)
    friday.runAndWait()

def time():
    Time = datetime.datetime.now().strftime('%I:%M:%p')
    # 修正参数为存储时间的Time变量
    speak(Time)
time()

其他异常排查方案

如果修改后仍然没有声音,可按以下步骤排查:

  • 检查设备音频输出是否正常,音量是否未开启
  • 部分设备的可用语音包索引和预期不符,可尝试将voice[1].id替换为voice[0].id测试
  • 若运行时报数组越界错误,说明你的设备只有1个可用语音包,必须使用voice[0].id

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:27:04