【发布时间】:2014-07-24 12:47:30
【问题描述】:
我发现了这个允许在 VBScript 中使用 Windows SAPI 文本到语音功能的单行示例:
CreateObject("SAPI.SpVoice").Speak("This is a test")
我想知道 SAPI 语音识别是否可以以同样简单的方式在 VBScript 程序中使用。当我寻找此类信息时,出现的大量 SAPI 信息与 C++ 相关,例如 Microsoft SAPI 站点或 VBS 中的文本到语音转换。我试图找到有关可在 VBScript 中使用的 SAPI COM 对象语音识别部分的文档,但没有找到。
你知道这样的文件是否存在吗? TIA
编辑:在收到第一个答案后添加的附加请求
虽然下面的第一个答案提供了指向 SAPI COM 对象文档的链接,但我想提醒您注意我的问题中的一点:“我想知道 SAPI 语音识别是否可以在 VBScript 程序中使用 IN同样简单的方法”。 SAPI 文档巨大!我读了几页,我完全迷失了……我的目标是只识别几个单词,比如 8 或 10 个,并且每次识别其中一个单词时都会在屏幕上显示不同的信息;这就对了! (该程序应该是通过cscript 启动的控制台应用程序)。是否有一个 简单 的 VBS 代码示例可以实现这样的事情?如果编写此解决方案所需的代码需要有几页,那么这不是我要寻找的答案...
【问题讨论】:
-
@AnsgarWiechers:我将示例复制粘贴到 test.vbs 文件中的那个链接,通过
cscript //nologo test.vbs执行它并得到这个(等效)错误:“test.vbs(1, 19) Microsoft VBScript 编译器错误:预期指令结束”。我使用的是 Windows 8.1 西班牙文版和 cscript Windows Script Host 5.8 版 -
我认为您需要对代码进行一些调整,因为它是 VB,而不是 VBScript。后者不支持
On Error Goto MARK之类的东西,您必须将Set RC = New SpSharedRecoContext形式的对象创建替换为CreateObject()和完整的组件名称:Set RC = CreateObject("SAPI.SpSharedRecoContext")。 -
从那以后你有什么新发现吗?
-
@Wolf:不,抱歉。我尝试使用所有编译的数据编写一个工作示例,但该程序在 VBS 中不起作用,即在
cscript.exe编译的程序中。有一系列旨在将程序调整到 VBS 环境的更改,但它们从未奏效。为此编写一个 C++ 程序要简单得多...
标签: vbscript speech-recognition sapi