SpeechRecognizer.EmulateRecognize 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使用文本而不是同步语音识别的音频来模拟输入到共享语音识别器。
重载
EmulateRecognize(String) |
使用文本而不是异步语音识别的音频来模拟输入短语到共享语音识别器。 |
EmulateRecognize(RecognizedWordUnit[], CompareOptions) |
使用文本代替同步语音识别的音频来模拟特定字输入到共享语音识别器,并指定识别器如何处理单词和加载的语音识别语法间的 Unicode 比较。 |
EmulateRecognize(String, CompareOptions) |
使用文本代替异步语音识别的音频来模拟短语输入到共享语音识别器,并指定识别器如何处理短语和加载的语音识别语法间的 Unicode 比较。 |
注解
这些方法绕过系统音频输入。 在测试或调试应用程序或语法时,这非常有用。
备注
如果 Windows 语音识别处于 睡眠 状态,则这些方法返回 null
。
共享识别器引发 SpeechDetected、、 SpeechHypothesizedSpeechRecognitionRejected和 SpeechRecognized 事件,就好像未模拟识别操作一样。 识别器忽略新行和多余的空格,并将标点视为文本输入。
备注
RecognitionResult共享识别器为响应模拟输入null
而生成的 对象的 Audio 属性值为 。
若要模拟异步识别,请使用 EmulateRecognizeAsync 方法。
EmulateRecognize(String)
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
使用文本而不是异步语音识别的音频来模拟输入短语到共享语音识别器。
public:
System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText);
public System.Speech.Recognition.RecognitionResult EmulateRecognize (string inputText);
member this.EmulateRecognize : string -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (inputText As String) As RecognitionResult
参数
- inputText
- String
标识操作的输入。
返回
识别操作的识别结果;或者,如果操作不成功或是窗口语音识别处于“睡眠”状态,则为 null
。
示例
以下示例将示例语法加载到共享识别器,并模拟识别器输入。 如果 Windows 语音识别未运行,则启动此应用程序也会启动 Windows 语音识别。 如果 Windows 语音识别处于 睡眠 状态,则 EmulateRecognize 始终返回 null。
using System;
using System.Speech.Recognition;
namespace SharedRecognizer
{
class Program
{
static void Main(string[] args)
{
// Initialize an instance of the shared recognizer.
using (SpeechRecognizer recognizer = new SpeechRecognizer())
{
// Create and load a sample grammar.
Grammar testGrammar =
new Grammar(new GrammarBuilder("testing testing"));
testGrammar.Name = "Test Grammar";
recognizer.LoadGrammar(testGrammar);
RecognitionResult result;
// This EmulateRecognize call matches the grammar and returns a
// recognition result.
result = recognizer.EmulateRecognize("testing testing");
OutputResult(result);
// This EmulateRecognize call does not match the grammar and
// returns null.
result = recognizer.EmulateRecognize("testing one two three");
OutputResult(result);
}
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
// Output information about a recognition result to the console.
private static void OutputResult(RecognitionResult result)
{
if (result != null)
{
Console.WriteLine("Recognition result = {0}",
result.Text ?? "<no text>");
}
else
{
Console.WriteLine("No recognition result");
}
}
}
}
注解
Vista 和 Windows 7 随附的识别器在向输入短语应用语法规则时忽略大小写和字符宽度。 有关此比较类型的详细信息,请参阅 CompareOptions 枚举值 OrdinalIgnoreCase 和 IgnoreWidth。 识别器还会忽略新行和额外的空格,并将标点符号视为文本输入。
另请参阅
- RecognitionResult
- EmulateRecognizeAsync(String)
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
适用于
EmulateRecognize(RecognizedWordUnit[], CompareOptions)
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
使用文本代替同步语音识别的音频来模拟特定字输入到共享语音识别器,并指定识别器如何处理单词和加载的语音识别语法间的 Unicode 比较。
public:
System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(cli::array <System::Speech::Recognition::RecognizedWordUnit ^> ^ wordUnits, System::Globalization::CompareOptions compareOptions);
public System.Speech.Recognition.RecognitionResult EmulateRecognize (System.Speech.Recognition.RecognizedWordUnit[] wordUnits, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognize : System.Speech.Recognition.RecognizedWordUnit[] * System.Globalization.CompareOptions -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (wordUnits As RecognizedWordUnit(), compareOptions As CompareOptions) As RecognitionResult
参数
- wordUnits
- RecognizedWordUnit[]
词单元数组,包含识别操作输入。
- compareOptions
- CompareOptions
描述用于模拟识别操作的比较说明类型的枚举值的按位组合。
返回
识别操作的识别结果;或者,如果操作不成功或是窗口语音识别处于“睡眠”状态,则为 null
。
注解
此方法使用 参数中wordUnits
提供的信息创建 RecognitionResult 对象。
识别器在将 compareOptions
语法规则应用于输入短语时使用 。 如果 存在 或 IgnoreCase 值,则随 Vista 和 Windows 7 一起附带的OrdinalIgnoreCase识别器将忽略大小写。 识别器始终忽略字符宽度,从不忽略假名类型。 识别器还会忽略新行和额外的空格,并将标点符号视为文本输入。 有关字符宽度和假名类型的详细信息,请参阅 CompareOptions 枚举。
另请参阅
- RecognitionResult
- EmulateRecognizeAsync(String)
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
适用于
EmulateRecognize(String, CompareOptions)
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
使用文本代替异步语音识别的音频来模拟短语输入到共享语音识别器,并指定识别器如何处理短语和加载的语音识别语法间的 Unicode 比较。
public:
System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText, System::Globalization::CompareOptions compareOptions);
public System.Speech.Recognition.RecognitionResult EmulateRecognize (string inputText, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognize : string * System.Globalization.CompareOptions -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (inputText As String, compareOptions As CompareOptions) As RecognitionResult
参数
- inputText
- String
标识操作的输入相。
- compareOptions
- CompareOptions
描述用于模拟识别操作的比较说明类型的枚举值的按位组合。
返回
识别操作的识别结果;或者,如果操作不成功或是窗口语音识别处于“睡眠”状态,则为 null
。
注解
识别器在将 compareOptions
语法规则应用于输入短语时使用 。 如果 存在 或 IgnoreCase 值,则随 Vista 和 Windows 7 一起附带的OrdinalIgnoreCase识别器将忽略大小写。 识别器始终忽略字符宽度,从不忽略假名类型。 识别器还会忽略新行和额外的空格,并将标点符号视为文本输入。 有关字符宽度和假名类型的详细信息,请参阅 CompareOptions 枚举。
另请参阅
- RecognitionResult
- EmulateRecognizeAsync(String)
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized