Grammar.Priority 属性

定义

获取或设置 Grammar 对象的优先级别值。

public:
 property int Priority { int get(); void set(int value); };
public int Priority { get; set; }
member this.Priority : int with get, set
Public Property Priority As Integer

属性值

Int32

Priority 属性返回表示特定 Grammar的相对优先级的整数值。 该范围包含从 -128 到 127。 默认值为 0。

示例

以下示例创建两 Grammar 个对象,一个用于数字,一个用于分数。 对象 Grammar 分配名称和相对权重和优先级,并由进程内语音识别器加载。 此处未显示该方法CreateDigitsGrammar``CreateFractionsGrammarrecognizer_SpeechRecognized方法。

// Create a Grammar for recognizing numeric digits.  
Grammar digitsGrammar = CreateDigitsGrammar();  
digitsGrammar.Name = "Digits Grammar";  
digitsGrammar.Priority = 2;  
digitsGrammar.Weight = 0.6f;  

// Create a Grammar for recognizing fractions.  
Grammar fractionsGrammar = CreateFractionsGrammar();  
fractionsGrammar.Name = "Fractions Grammar";  
fractionsGrammar.Priority = 1;  
fractionsGrammar.Weight = 1f;  

// Create an in-process speech recognizer.  
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();  

recognizer.SpeechRecognized +=  
  new EventHandler<SpeechRecognizedEventArgs>(  
    recognizer_SpeechRecognized);  

// Load the digits and fractions Grammar objects.  
recognizer.LoadGrammar(digitsGrammar);  
recognizer.LoadGrammar(fractionsGrammar);  

// Start recognition.  
recognizer.SetInputToDefaultAudioDevice();  
recognizer.RecognizeAsync(RecognizeMode.Multiple);  

注解

当多个语法生成相同的识别结果时,该 Priority 属性用于选择语法。 如果语音识别器已加载并启用了与输入匹配的多个语音识别语法,并且匹配是识别器的最佳结果,则识别器将使用具有最高 Priority语法的语法。 如果生成相同识别结果的语法也具有相同 Priority 的值,则识别器使用的语法是未定义的。

适用于

另请参阅