我正在使用.NET Framework 4.0的System.Speech命名空间编写我的第一个语音识别应用程序。
我正在使用共享语音识别,加载默认的听写语法和我已经完成的自定义语法。
我还通过为“SpeechRecognized”事件实现处理程序来捕获Windows语音识别器(WSR)识别的文本。
我想更改已识别的文本(例如,在文本中将“2”更改为“2”)但如果我这样做,则输出将不会写入当前应用程序(例如MS Word)。
我知道我可以通过使用SendKeys方法做一些类似的事情,但我认为这不是一个好主意,因为输出质量较低。例如,如果您使用WSR作为标准用户,您将在“。”之后看到它。或者一个新行,后面的句子以大写字符开头。如果你想编写自己的输出解析器,你必须考虑很多事情,所以如果你不处理SpeechRecognized事件,我想使用WSR使用的那个。但是...如何?
(如果有必要,我不介意使用SAPI。)
谢谢!
答案 0 :(得分:2)
简短的回答是,你不能。 WSR没有允许第三方连接到其听写管道的钩子。