Grammar.Priority 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置对象的优先级值 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
属性值
该 Priority 属性返回一个整数值,该值表示特定 Grammar优先级的相对优先级。 范围从 -128 到 127(含)。 默认值为 0。
示例
以下示例创建两个 Grammar 对象,一个用于数字,一个用于分数。 这些 Grammar 对象分配了名称和相对权重和优先级,并由进程内语音识别器加载。 此处未显示该方法CreateDigitsGrammarCreateFractionsGrammar和recognizer_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 的值,则识别器使用的语法是未定义的。