2 回答

TA贡献1765条经验 获得超5个赞
好吧,您需要的是一个过程内识别引擎,而PySpeech使用一个共享的识别引擎。因此,您需要稍微修改PySpeech。改变
_recognizer = win32com.client.Dispatch("SAPI.SpSharedRecognizer")
到
_recognizer = win32com.client.Dispatch("SAPI.SpInprocRecognizer")
在startlistening(phraselist,回调),您需要附加的音频流(通过_recognizer。setInput设置)和RECO引擎(通过_recognizer。SetRecognizer)。不幸的是,我对Python不够熟悉,无法将SAPI帮助程序SpGetDefaultTokenFromCategoryId(获取默认音频流)和SpGetDefaultSharedRecognizerToken(获取默认reco引擎)转换为Python。

TA贡献1788条经验 获得超4个赞
不知道您是否还在寻找答案,但我为您找到了答案!
在第66行,将代码更改为:
_recognizer = win32com.client.Dispatch("SAPI.SpInProcRecognizer")
_recognizer.AudioInputStream = win32com.client.Dispatch("SAPI.SpMMAudioIn")
在第112行,将代码更改为:
_ListenerBase = win32com.client.getevents("SAPI.SpInProcRecoContext")
这将阻止Windows命令运行,同时也不会显示出现的小部件。祝你好运!
添加回答
举报