SpeechRecognizer.EmulateRecognize 方法

定义

使用文本而不是同步语音识别的音频来模拟输入到共享语音识别器。

重载

EmulateRecognize(String)

使用文本而不是异步语音识别的音频来模拟输入短语到共享语音识别器。

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

使用文本代替同步语音识别的音频来模拟特定字输入到共享语音识别器,并指定识别器如何处理单词和加载的语音识别语法间的 Unicode 比较。

EmulateRecognize(String, CompareOptions)

使用文本代替异步语音识别的音频来模拟短语输入到共享语音识别器,并指定识别器如何处理短语和加载的语音识别语法间的 Unicode 比较。

注解

这些方法绕过系统音频输入。 在测试或调试应用程序或语法时,这非常有用。

备注

如果 Windows 语音识别处于 睡眠 状态,则这些方法返回 null

共享识别器引发 SpeechDetected、、 SpeechHypothesizedSpeechRecognitionRejectedSpeechRecognized 事件,就好像未模拟识别操作一样。 识别器忽略新行和多余的空格,并将标点视为文本输入。

备注

RecognitionResult共享识别器为响应模拟输入null而生成的 对象的 Audio 属性值为 。

若要模拟异步识别,请使用 EmulateRecognizeAsync 方法。

EmulateRecognize(String)

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 枚举值 OrdinalIgnoreCaseIgnoreWidth。 识别器还会忽略新行和额外的空格,并将标点符号视为文本输入。

另请参阅

适用于

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

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 枚举。

另请参阅

适用于

EmulateRecognize(String, CompareOptions)

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 枚举。

另请参阅

适用于