找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2961|回复: 2

[求助] python调用speech出错

1

主题

2

帖子

2

积分

贫民

积分
2
x710777335 发表于 2018-6-21 16:23:38 | 显示全部楼层 |阅读模式
我用python调用speech每次都出错如下E:\anaconda\python.exe E:/工作软件/pyhcarm/好好写代码/语音识别1/语音1/venv/Scripts/yuyin1.pyTraceback (most recent call last):
  File "E:/工作软件/pyhcarm/好好写代码/语音识别1/语音1/venv/Scripts/yuyin1.py", line 35, in <module>
    speech.say("You said %s" % phr)
  File "E:\anaconda\lib\site-packages\speech.py", line 141, in say
    _voice.Speak(phrase)
  File "E:\anaconda\lib\site-packages\win32com\gen_py\C866CA3A-32F7-11D2-9602-00C04F8EE628x0x5x4.py", line 2977, in Speak
    , Flags)
pywintypes.com_error: (-2147352567, '发生意外。', (0, None, None, None, 0, -2147221164), None)

Process finished with exit code 1

源码如下,用的网上的代码:
import os
import sys
import speech
import webbrowser

phrase = {"closeMainSystem" : "关闭人机交互"
        , "film" : "电影"
        , "listenMusic" : "音乐"
        , "blog" : "看博客"
        , "cmd" : "cmd" }


def callback(phr, phrase):
    if phr == phrase["closeMainSystem"]:
        speech.say("Goodbye. 人机交互即将关闭,谢谢使用")
        speech.stoplistening()
        sys.exit()
    elif phr == phrase["film"]:
        speech.say("正在为您打开优酷")
        webbrowser.open_new("http://www.youku.com/")
    elif phr == phrase["listenMusic"]:
        speech.say("即将为你启动豆瓣电台")
        webbrowser.open_new("http://douban.fm/")
    elif phr == phrase["blog"]:
        speech.say("即将进入Dreamforce.me")
        webbrowser.open_new("http://www.cnblogs.com/darksouls/")
    elif phr == phrase["cmd"]:
        speech.say("即将打开CMD")
        os.popen("C:\Windows\System32\cmd.exe")

    # 可以继续用 elif 写对应的自制中文库中的对应操作

while True:
    phr = speech.input()
    speech.say("You said %s" % phr)
    callback(phr, phrase)

求问大神这个问题怎么解决,,网上没找到类似的问题。。。


回复

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2018-6-21 17:43:42 | 显示全部楼层
本帖最后由 sheeboard 于 2018-6-21 18:21 编辑

看到好几个问题都是有关win32com,试试linux下有没有错误?
回复 支持 反对

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
x710777335  楼主| 发表于 2018-6-22 15:25:52 | 显示全部楼层
确实是win32的问题,可是我都安装好了,这个还需要调什么系统变量吗?想在windows下跑,不会linux。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表