GrammarBuilder Конструкторы

Определение

Инициализирует новый экземпляр класса GrammarBuilder.

Перегрузки

GrammarBuilder()

Инициализирует новый пустой экземпляр класса GrammarBuilder.

GrammarBuilder(Choices)

Инициализирует новый экземпляр класса GrammarBuilder из набора объектов.

GrammarBuilder(SemanticResultKey)

Инициализирует новый экземпляр класса GrammarBuilder из семантического ключа.

GrammarBuilder(SemanticResultValue)

Инициализирует новый экземпляр класса GrammarBuilder из семантического значения.

GrammarBuilder(String)

Инициализирует новый экземпляр класса GrammarBuilder из последовательности слов.

GrammarBuilder(String, SubsetMatchingMode)

Инициализирует новый экземпляр класса GrammarBuilder для подмножества последовательности слов.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Инициализирует новый экземпляр класса GrammarBuilder из повторяющегося элемента.

GrammarBuilder(String, Int32, Int32)

Инициализирует новый экземпляр класса GrammarBuilder из последовательности слов в String и определяет, сколько раз можно повторить String.

Комментарии

Экземпляры этого класса также можно получить путем неявных преобразований из других классов или путем объединения GrammarBuilder объекта со вторым объектом в из нового GrammarBuilder. Дополнительные сведения см. в статье Методы Implicit и Addition .

Чтобы добавить ограничения к существующему GrammarBuilderобъекту Add, используйте методы , AppendDictationAppend, , AppendRuleReferenceи AppendWildcard и оператор .Addition

Важно!

Распознаватель речи может вызвать исключение при использовании грамматики распознавания речи, содержащей повторяющиеся семантические элементы с тем же именем ключа или несколько семантических элементов, которые могут многократно изменять значение одного и того же семантического элемента.

Дополнительные сведения о построении и использовании грамматики распознавания речи см. в разделе Распознавание речи.

GrammarBuilder()

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый пустой экземпляр класса GrammarBuilder.

public:
 GrammarBuilder();
public GrammarBuilder ();
Public Sub New ()

Примеры

В следующем примере объекты и Choices используются GrammarBuilder для создания грамматики, которая может распознавать любой из двух фраз: "Создать цвет фона" или "Задать фон для colorChoice".

В примере используется Choices объект для создания списка допустимых значений для colorChoice из массива String объектов . Объект Choices аналогиен элементу one-of в спецификации SRGS и содержит набор альтернативных фраз, любую из которых можно распознать при произнесении. В примере также используется Choices объект для группировки массива из двух GrammarBuilder объектов в пару альтернативных фраз, которые может распознать результирующей грамматикой. Альтернативные слова или фразы являются компонентом большинства грамматик, и Choices объект предоставляет эту функциональность для грамматик, созданных с помощью GrammarBuilder.

В этом примере, наконец, создается Grammar объект из созданного ChoicesGrammarBuilder из объекта .

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});
  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");
  makePhrase.Append(colorElement);
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
  setPhrase.Append(colorElement);

  // Create a Choices for the two alternative phrases, convert the Choices
  // to a GrammarBuilder, and construct the Grammar object from the result.
  GrammarBuilder bothPhrases = new GrammarBuilder();
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  bothPhrases.Append(bothChoices);
  Grammar grammar = new Grammar(bothPhrases);
  grammar.Name = "backgroundColor";
  return grammar;
}

Комментарии

Чтобы добавить правила в существующий GrammarBuilder объект, используйте Addметоды , AppendAppendDictation, , AppendRuleReferenceи AppendWildcard и оператор .Addition

Важно!

Распознаватель речи может вызвать исключение при использовании грамматики распознавания речи, содержащей повторяющиеся семантические элементы с тем же именем ключа или несколько семантических элементов, которые могут многократно изменять значение одного и того же семантического элемента.

См. также раздел

Применяется к

GrammarBuilder(Choices)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр класса GrammarBuilder из набора объектов.

public:
 GrammarBuilder(System::Speech::Recognition::Choices ^ alternateChoices);
public GrammarBuilder (System.Speech.Recognition.Choices alternateChoices);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.Choices -> System.Speech.Recognition.GrammarBuilder
Public Sub New (alternateChoices As Choices)

Параметры

alternateChoices
Choices

Набор вариантов.

Примеры

В следующем примере объекты и Choices используются GrammarBuilder для создания грамматики, которая может распознавать любой из двух фраз: "Создать цвет фона" или "Задать фон для colorChoice".

В примере используется Choices объект для создания списка допустимых значений для colorChoice из массива String объектов . Объект Choices аналогиен элементу one-of в спецификации SRGS и содержит набор альтернативных фраз, любую из которых можно распознать при произнесении. В примере также используется Choices объект для группировки массива из двух GrammarBuilder объектов в пару альтернативных фраз, которые может распознать результирующей грамматикой. Альтернативные слова или фразы являются компонентом большинства грамматик, и Choices объект предоставляет эту функциональность для грамматик, созданных с помощью GrammarBuilder.

В этом примере, наконец, создается Grammar объект из созданного ChoicesGrammarBuilder из объекта .

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});
  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");
  makePhrase.Append(colorElement);
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
  setPhrase.Append(colorElement);

  // Create a Choices for the two alternative phrases, convert the Choices
  // to a GrammarBuilder, and construct the grammar from the result.
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  Grammar grammar = new Grammar((GrammarBuilder)bothChoices);
  grammar.Name = "backgroundColor";
  return grammar;
}

Комментарии

Дополнительные сведения о создании грамматики распознавания речи, содержащей альтернативные варианты, см. в статье Использование вариантов для создания грамматикиBuilder Grammar.

См. также раздел

Применяется к

GrammarBuilder(SemanticResultKey)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр класса GrammarBuilder из семантического ключа.

public:
 GrammarBuilder(System::Speech::Recognition::SemanticResultKey ^ key);
public GrammarBuilder (System.Speech.Recognition.SemanticResultKey key);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.SemanticResultKey -> System.Speech.Recognition.GrammarBuilder
Public Sub New (key As SemanticResultKey)

Параметры

key
SemanticResultKey

Семантический ключ.

Примеры

В следующем примере создается грамматика распознавания речи, которая может распознавать две фразы: "Сделать цвет фонаChoice" и "Задать фон для colorChoice", где colorChoice выбирается из набора цветов. Грамматика позволяет пользователю произнести любое из нескольких имен цветов и возвращает семантические сведения о распознаваемом имени цвета приложению.

В примере используется один объект SemanticResultKey , с помощью которого можно получить SemanticValue объект , связанный с цветом, произнесемым пользователем. Например, если входные данные содержат фразу "Задайте для фона красный цвет", результат распознавания содержит семантическое значение "#FF0000", которое можно получить с помощью обработчика SpeechRecognized для события.

В примере используются Stringобъекты , Choices, SemanticResultKey, SemanticResultValueи GrammarBuilder для создания ограничений, которые содержатся в последнем GrammarBuilder объекте . bothPhrases Наконец, в примере создается Grammar объект из завершенного GrammarBuilderобъекта .

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  // Include semantic information about each of the colors.
  Choices colorChoice = new Choices();

  GrammarBuilder colorBuilder = new GrammarBuilder("red");
  SemanticResultValue colorValue =
    new SemanticResultValue(colorBuilder, "#FF0000");
  colorChoice.Add(new GrammarBuilder(colorValue));

  colorBuilder = new GrammarBuilder("green");
  colorValue = new SemanticResultValue(colorBuilder, "#00FF00");
  colorChoice.Add(new GrammarBuilder(colorValue));

  colorBuilder = new GrammarBuilder("blue");
  colorValue = new SemanticResultValue(colorBuilder, "#0000FF");
  colorChoice.Add(new GrammarBuilder(colorValue));

  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");
  makePhrase.Append(colorElement);
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
  setPhrase.Append(colorElement);

  // Create a Choices object for the two alternative phrases.
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);

  // Create the semantic key for referencing the color information.
  SemanticResultKey colorKey =
    new SemanticResultKey("ColorCode", bothPhrases);
  bothPhrases = new GrammarBuilder(colorKey);

  // Construct the Grammar object from the GrammarBuilder.
  Grammar grammar = new Grammar(bothPhrases);
  grammar.Name = "backgroundColor";
  return grammar;
}

Комментарии

При создании экземпляра GrammarBuilder из SemanticResultValue объекта в грамматику добавляются семантические сведения, которые могут быть возвращены в результате распознавания. Доступ к семантической информации в результате распознавания можно получить с помощью Semantics свойства , доступного RecognizedPhraseв обработчике SpeechRecognized события. GrammarBuilder Если определяет SemanticResultKey, это можно использовать для получения семантической информации в результате распознавания, связанном с ключом. См. пример для Append(SemanticResultKey), а также см. SemanticResultValue и SemanticResultKey.

Важно!

При создании GrammarBuilder объектов, содержащих SemanticResultValue экземпляры или SemanticResultKey , избегайте создания повторяющихся семантических элементов с одинаковым именем ключа или нескольких семантических элементов, которые могут многократно изменять Value свойство SemanticValue объекта. Распознаватель речи может вызвать исключение, если он сталкивается с этими обстоятельствами.

См. также раздел

Применяется к

GrammarBuilder(SemanticResultValue)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр класса GrammarBuilder из семантического значения.

public:
 GrammarBuilder(System::Speech::Recognition::SemanticResultValue ^ value);
public GrammarBuilder (System.Speech.Recognition.SemanticResultValue value);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.SemanticResultValue -> System.Speech.Recognition.GrammarBuilder
Public Sub New (value As SemanticResultValue)

Параметры

value
SemanticResultValue

Семантическое значение или пара имя-значение.

Примеры

В следующем примере создается грамматика распознавания речи, которая может распознавать две фразы: "Сделать цвет фонаChoice" и "Задать фон для colorChoice", где colorChoice выбирается из набора цветов. Грамматика позволяет пользователю произнести любое из нескольких имен цветов и возвращает семантические сведения о распознаваемом имени цвета приложению.

В примере используется один объект SemanticResultKey , с помощью которого можно получить SemanticValue объект , связанный с цветом, произнесемым пользователем. Например, если входные данные содержат фразу "Задайте для фона красный цвет", результат распознавания содержит семантическое значение "#FF0000", которое можно получить с помощью обработчика SpeechRecognized для события.

В примере используются Stringобъекты , Choices, SemanticResultKey, SemanticResultValueи GrammarBuilder для создания ограничений, которые содержатся в последнем GrammarBuilder объекте . bothPhrases Наконец, в примере создается Grammar объект из завершенного GrammarBuilderобъекта .

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  // Include semantic information about each of the colors.
  Choices colorChoice = new Choices();

  GrammarBuilder colorBuilder = new GrammarBuilder("red");
  SemanticResultValue colorValue =
    new SemanticResultValue(colorBuilder, "#FF0000");
  colorChoice.Add(new GrammarBuilder(colorValue));

  colorBuilder = new GrammarBuilder("green");
  colorValue = new SemanticResultValue(colorBuilder, "#00FF00");
  colorChoice.Add(new GrammarBuilder(colorValue));

  colorBuilder = new GrammarBuilder("blue");
  colorValue = new SemanticResultValue(colorBuilder, "#0000FF");
  colorChoice.Add(new GrammarBuilder(colorValue));

  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");
  makePhrase.Append(colorElement);
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
  setPhrase.Append(colorElement);

  // Create a Choices for the two alternative phrases.
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  GrammarBuilder bothPhrases = new GrammarBuilder(bothChoices);

  // Create the semantic key for referencing the color information.
  SemanticResultKey colorKey =
    new SemanticResultKey("ColorCode", bothPhrases);
  bothPhrases = new GrammarBuilder(colorKey);

  // Construct the grammar from the grammar builder.
  Grammar grammar = new Grammar(bothPhrases);
  grammar.Name = "backgroundColor";
  return grammar;
}

Комментарии

При создании экземпляра GrammarBuilder из SemanticResultValue объекта в грамматику добавляются семантические сведения, которые могут быть возвращены в результате распознавания. Доступ к семантической информации в результате распознавания можно получить с помощью Semantics свойства , доступного RecognizedPhraseв обработчике SpeechRecognized события. GrammarBuilder Если определяет SemanticResultKey, это можно использовать для получения семантической информации в результате распознавания, связанном с ключом. См. пример для Append(SemanticResultKey), а также см. SemanticResultValue и SemanticResultKey.

Важно!

При создании GrammarBuilder объектов, содержащих SemanticResultValue экземпляры или SemanticResultKey , избегайте создания повторяющихся семантических элементов с одинаковым именем ключа или нескольких семантических элементов, которые могут многократно изменять Value свойство SemanticValue объекта. Распознаватель речи может вызвать исключение, если он сталкивается с этими обстоятельствами.

См. также раздел

Применяется к

GrammarBuilder(String)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр класса GrammarBuilder из последовательности слов.

public:
 GrammarBuilder(System::String ^ phrase);
public GrammarBuilder (string phrase);
new System.Speech.Recognition.GrammarBuilder : string -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String)

Параметры

phrase
String

Последовательность слов.

Примеры

В следующем примере объекты и Choices используются GrammarBuilder для создания грамматики, которая может распознавать любой из двух фраз: "Создать цвет фона" или "Задать фон для colorChoice".

После создания списка допустимых значений для colorChoice с помощью Choices объекта в примере инициализируется два GrammarBuilder объекта и setPhrasemakePhrase , используя строку в качестве аргумента.

Наконец, в примере создается Grammar объект из объекта, Choices приведения к объекту GrammarBuilder .

private Grammar CreateColorGrammar()
{

  // Create a set of color choices.
  Choices colorChoice = new Choices(new string[] {"red", "green", "blue"});
  GrammarBuilder colorElement = new GrammarBuilder(colorChoice);

  // Create grammar builders for the two versions of the phrase.
  GrammarBuilder makePhrase = new GrammarBuilder("Make background");
  makePhrase.Append(colorElement);
  GrammarBuilder setPhrase = new GrammarBuilder("Set background to");
  setPhrase.Append(colorElement);

  // Create a Choices for the two alternative phrases, convert the Choices
  // to a GrammarBuilder, and construct the Grammar object from the result.
  Choices bothChoices = new Choices(new GrammarBuilder[] {makePhrase, setPhrase});
  Grammar grammar = new Grammar((GrammarBuilder)bothChoices);
  grammar.Name = "backgroundColor";
  return grammar;
}

Комментарии

Фраза представляет точную фразу, которую распознает грамматика распознавания речи. Дополнительные сведения о создании грамматики распознавания речи, содержащей строки, см. в статье Использование строк для создания грамматики GrammarBuilder.

См. также раздел

Применяется к

GrammarBuilder(String, SubsetMatchingMode)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр класса GrammarBuilder для подмножества последовательности слов.

public:
 GrammarBuilder(System::String ^ phrase, System::Speech::Recognition::SubsetMatchingMode subsetMatchingCriteria);
public GrammarBuilder (string phrase, System.Speech.Recognition.SubsetMatchingMode subsetMatchingCriteria);
new System.Speech.Recognition.GrammarBuilder : string * System.Speech.Recognition.SubsetMatchingMode -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String, subsetMatchingCriteria As SubsetMatchingMode)

Параметры

phrase
String

Последовательность слов.

subsetMatchingCriteria
SubsetMatchingMode

Соответствующий режим, используемый грамматикой распознавания речи для распознавания фразы.

Примеры

В следующем примере создается грамматика распознавания речи для каждого SubsetMatchingMode значения и грамматика для выбора между грамматиками режима сопоставления. Если значение phrase равно "one two three four five six seven", то грамматика subsequence распознает входные данные "two three four", но не вход "one three five". Однако грамматика упорядоченного подмножества распознает оба этих входных данных.

private static IEnumerable<Grammar>
  CreateMatchingModeGrammars(string phrase)
{
  List<Grammar> grammars = new List<Grammar>(5);

  Choices modeChoice = new Choices();
  Type enumType = typeof(SubsetMatchingMode);
  foreach (SubsetMatchingMode mode in Enum.GetValues(enumType))
  {
    string modeName = Enum.GetName(enumType, mode);
    modeName = BreakAtCaps(modeName);

    GrammarBuilder builder = new GrammarBuilder(phrase, mode);
    Grammar modeGrammar = new Grammar(builder);
    modeGrammar.Name = modeName;
    modeGrammar.Enabled = false;
    grammars.Add(modeGrammar);

    modeChoice.Add(modeName);
  }

  Grammar choiceGrammar = new Grammar(modeChoice);
  choiceGrammar.Name = "choice";
  grammars.Add(choiceGrammar);

  return grammars;
}

// Insert spaces preceding each uppercase letter in a string.
private static string BreakAtCaps(string item)
{
  if (item == null || item.Length == 0)
  {
    return item;
  }

  StringBuilder sb = new StringBuilder(item[0].ToString());
  for (int i = 1; i < item.Length; i++)
  {
    char c = item[i];
    if (char.IsUpper(c))
    {
      sb.Append(" ");
    }
    sb.Append(c);
  }

  return sb.ToString();
}

Комментарии

Параметр phrase представляет фразу, которую может распознать грамматика распознавания речи. Параметр subsetMatchingMode задает подмножество фразы, которую можно произносить для успешного распознавания всей фразы. С его помощью можно создать грамматику со списком записей с длинными именами, не требуя, чтобы пользователи говорили все имя в соответствии с элементом.

Дополнительные сведения о режимах сопоставления см. в разделе SubsetMatchingMode. Дополнительные сведения о создании грамматики распознавания речи, содержащей строки, см. в статье Использование строк для создания грамматики GrammarBuilder.

См. также раздел

Применяется к

GrammarBuilder(GrammarBuilder, Int32, Int32)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр класса GrammarBuilder из повторяющегося элемента.

public:
 GrammarBuilder(System::Speech::Recognition::GrammarBuilder ^ builder, int minRepeat, int maxRepeat);
public GrammarBuilder (System.Speech.Recognition.GrammarBuilder builder, int minRepeat, int maxRepeat);
new System.Speech.Recognition.GrammarBuilder : System.Speech.Recognition.GrammarBuilder * int * int -> System.Speech.Recognition.GrammarBuilder
Public Sub New (builder As GrammarBuilder, minRepeat As Integer, maxRepeat As Integer)

Параметры

builder
GrammarBuilder

Повторяющийся элемент.

minRepeat
Int32

Минимальное количество сопоставлений входных данных элементу, определенному в builder, при котором засчитывается совпадение.

maxRepeat
Int32

Максимальное количество сопоставлений входных данных элементу, определенному в builder, при котором засчитывается совпадение.

Примеры

В следующем примере создается грамматика распознавания речи для заказа пиццы. Он начинается с необязательной открывающей фразы, за которой следует от одной до четырех начинок, и закрывается словом "pizza".

private static Grammar CreatePizzaGrammar()
{

  // Create a Choices object from a string array of alternative toppings.
  Choices toppings = new Choices(new string[] {
    "cheese", "mushroom", "tomato", "onion",
    "anchovy", "chicken", "pepperoni"});

  // Create a GrammarBuilder and append the Choices object.
  GrammarBuilder andToppings = new GrammarBuilder("and", 0, 1);
  andToppings.Append(toppings);

  // Construct the phrase.
  GrammarBuilder gb = new GrammarBuilder("I would like a", 0, 1);
  gb.Append(toppings);
  gb.Append(new GrammarBuilder(andToppings, 0, 3));
  gb.Append("pizza");

  // Create the Grammar from the GrammarBuilder.
  Grammar grammar = new Grammar(gb);
  grammar.Name = "Pizza Order";

  return grammar;
}

Комментарии

Если значение minRepeat равно 0, то new GrammarBuilder представляет необязательный элемент.

Значение minRepeat должно быть больше или равно 0 и меньше или равно значению maxRepeat.

Важно!

При указании повторов для GrammarBuilder объектов, содержащих SemanticResultValue экземпляры или SemanticResultKey , избегайте создания повторяющихся семантических элементов с тем же именем ключа или нескольких семантических элементов, которые могут многократно изменять Value свойство SemanticValue объекта. Распознаватель речи может вызвать исключение, если он сталкивается с этими обстоятельствами.

См. также раздел

Применяется к

GrammarBuilder(String, Int32, Int32)

Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs
Исходный код:
GrammarBuilder.cs

Инициализирует новый экземпляр класса GrammarBuilder из последовательности слов в String и определяет, сколько раз можно повторить String.

public:
 GrammarBuilder(System::String ^ phrase, int minRepeat, int maxRepeat);
public GrammarBuilder (string phrase, int minRepeat, int maxRepeat);
new System.Speech.Recognition.GrammarBuilder : string * int * int -> System.Speech.Recognition.GrammarBuilder
Public Sub New (phrase As String, minRepeat As Integer, maxRepeat As Integer)

Параметры

phrase
String

Повторяющаяся последовательность слов.

minRepeat
Int32

Минимальное количество сопоставлений входной фразы, при котором засчитывается совпадение.

maxRepeat
Int32

Максимальное количество сопоставлений входной фразы, при котором засчитывается совпадение.

Примеры

В следующем примере создается грамматика распознавания речи для заказа пиццы. Он начинается с необязательной открывающей фразы, за которой следует от одной до четырех начинок, и закрывается словом "pizza".

private static Grammar CreatePizzaGrammar()
{

  // Create a Choices object with alternatives for toppings.
  Choices toppings = new Choices(new string[] {
    "cheese", "mushroom", "tomato", "onion",
    "anchovy", "chicken", "pepperoni"});

  // Create a GrammarBuilder and append the Choices object.
  GrammarBuilder andToppings = new GrammarBuilder("and", 0, 1);
  andToppings.Append(toppings);

  // Construct the phrase.
  GrammarBuilder gb = new GrammarBuilder("I would like a", 0, 1);
  gb.Append(toppings);
  gb.Append(new GrammarBuilder(andToppings, 0, 3));
  gb.Append("pizza");

  // Create the Grammar from the GrammarBuilder.
  Grammar grammar = new Grammar(gb);
  grammar.Name = "Pizza Order";

  return grammar;
}

Комментарии

Если значение minRepeat равно 0, то new GrammarBuilder представляет необязательный элемент.

Значение minRepeat должно быть больше или равно 0 и меньше или равно значению maxRepeat. Дополнительные сведения о создании грамматики распознавания речи, содержащей строки, см. в статье Использование строк для создания грамматики GrammarBuilder.

См. также раздел

Применяется к