GrammarBuilder Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy GrammarBuilder.

Przeciążenia

GrammarBuilder()

Inicjuje nowe, puste wystąpienie GrammarBuilder klasy.

GrammarBuilder(Choices)

Inicjuje nowe wystąpienie GrammarBuilder klasy z zestawu wariantów.

GrammarBuilder(SemanticResultKey)

Inicjuje nowe wystąpienie GrammarBuilder klasy z klucza semantycznego.

GrammarBuilder(SemanticResultValue)

Inicjuje nowe wystąpienie GrammarBuilder klasy z wartości semantycznej.

GrammarBuilder(String)

Inicjuje nowe wystąpienie GrammarBuilder klasy z sekwencji wyrazów.

GrammarBuilder(String, SubsetMatchingMode)

Inicjuje nowe wystąpienie GrammarBuilder klasy dla podzestawu sekwencji wyrazów.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Inicjuje nowe wystąpienie GrammarBuilder klasy z Powtórzonego elementu.

GrammarBuilder(String, Int32, Int32)

Inicjuje nowe wystąpienie GrammarBuilder klasy z sekwencji wyrazów w String i określa, ile razy String można powtarzać.

Uwagi

Wystąpienia tej klasy można również uzyskać przez niejawne konwersje z innych klas lub przez połączenie GrammarBuilder obiektu z drugim obiektem z nowym GrammarBuilder . Aby uzyskać więcej informacji, zobacz Implicit i Addition metody.

Aby dodać ograniczenia do istniejącej GrammarBuilder , użyj Add metody,,,, i Append AppendDictation AppendRuleReference AppendWildcard Addition operatora.

Ważne

Aparat rozpoznawania mowy może zgłosić wyjątek przy użyciu gramatyki rozpoznawania mowy, która zawiera zduplikowane elementy semantyczne o tej samej nazwie klucza lub wielu elementach semantycznych, które mogą wielokrotnie modyfikować wartość tego samego elementu semantycznego.

Aby uzyskać więcej informacji na temat kompilowania i używania gramatyk rozpoznawania mowy, zobacz rozpoznawanie mowy.

GrammarBuilder()

Inicjuje nowe, puste wystąpienie GrammarBuilder klasy.

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

Przykłady

Poniższy przykład używa GrammarBuilder i Choices obiektów do konstruowania gramatyki, która może rozpoznawać jedną z dwóch fraz, " colorChoice w tle" lub "Set Background to colorChoice".

W przykładzie zastosowano Choices obiekt, aby utworzyć listę akceptowalnych wartości dla colorChoice z tablicy String obiektów. ChoicesObiekt jest analogiczny do one-of elementu w specyfikacji SRGS i zawiera zestaw alternatywnych fraz, z których każdy może zostać rozpoznany podczas wymawiania. W przykładzie używa się również Choices obiektu do grupowania tablicy dwóch GrammarBuilder obiektów w parze alternatywnych fraz, które wynikowa Gramatyka może rozpoznać. Słowa alternatywne lub frazy są składnikiem większości gramatyki, a Choices obiekt udostępnia tę funkcję dla gramatyki zbudowanych przy użyciu GrammarBuilder .

Przykład tworzy Grammar obiekt na podstawie GrammarBuilder skonstruowanej z Choices obiektu.

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;  
}  

Uwagi

Aby dodać reguły do istniejącego GrammarBuilder obiektu, użyj Add Append metod,,, AppendDictation AppendRuleReference i AppendWildcard Addition operatora.

Ważne

Aparat rozpoznawania mowy może zgłosić wyjątek przy użyciu gramatyki rozpoznawania mowy, która zawiera zduplikowane elementy semantyczne o tej samej nazwie klucza lub wielu elementach semantycznych, które mogą wielokrotnie modyfikować wartość tego samego elementu semantycznego.

Zobacz też

Dotyczy

GrammarBuilder(Choices)

Inicjuje nowe wystąpienie GrammarBuilder klasy z zestawu wariantów.

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)

Parametry

alternateChoices
Choices

Zestaw wariantów.

Przykłady

Poniższy przykład używa GrammarBuilder i Choices obiektów do konstruowania gramatyki, która może rozpoznawać jedną z dwóch fraz, " colorChoice w tle" lub "Set Background to colorChoice".

W przykładzie zastosowano Choices obiekt, aby utworzyć listę akceptowalnych wartości dla colorChoice z tablicy String obiektów. ChoicesObiekt jest analogiczny do one-of elementu w specyfikacji SRGS i zawiera zestaw alternatywnych fraz, które mogą być rozpoznawane podczas wymawiania. W przykładzie używa się również Choices obiektu do grupowania tablicy dwóch GrammarBuilder obiektów w parze alternatywnych fraz, które wynikowa Gramatyka może rozpoznać. Słowa alternatywne lub frazy są składnikiem większości gramatyki, a Choices obiekt udostępnia tę funkcję dla gramatyki zbudowanych przy użyciu GrammarBuilder .

Przykład tworzy Grammar obiekt na podstawie GrammarBuilder skonstruowanej z Choices obiektu.

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;  
}  

Uwagi

Aby uzyskać więcej informacji na temat tworzenia gramatyki rozpoznawania mowy zawierającej alternatywy, zobacz Używanie opcji do tworzenia gramatyki GrammarBuilder.

Zobacz też

Dotyczy

GrammarBuilder(SemanticResultKey)

Inicjuje nowe wystąpienie GrammarBuilder klasy z klucza semantycznego.

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)

Parametry

key
SemanticResultKey

Klucz semantyczny.

Przykłady

Poniższy przykład tworzy gramatykę rozpoznawania mowy, która może rozpoznawać dwie frazy " colorChoice w tle" i "Set Background to colorChoice", gdzie colorChoice jest wybrane z zestawu kolorów. Gramatyka pozwala użytkownikowi mówić dowolną z kilku nazw kolorów i zwraca informacje semantyczne o rozpoznanej nazwie koloru do aplikacji.

W przykładzie jest używany pojedynczy element SemanticResultKey , za pomocą którego można pobrać obiekt SemanticValue , który jest skojarzony z kolorem wymawianym przez użytkownika. Na przykład, jeśli dane wejściowe zawierają frazę "Ustaw tło na czerwony", wynik rozpoznawania zawiera wartość semantyczną "#FF0000", którą można pobrać przy użyciu procedury obsługi dla SpeechRecognized zdarzenia.

W przykładzie używane String Choices SemanticResultKey są obiekty,,, SemanticResultValue i GrammarBuilder do tworzenia ograniczeń, które są zawarte w ostatnim GrammarBuilder obiekcie, bothPhrases . Na koniec przykład tworzy Grammar obiekt od ukończonej 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;  
}  

Uwagi

Podczas tworzenia GrammarBuilder wystąpienia z SemanticResultValue obiektu, należy dodać informacje semantyczne do gramatyki, które mogą być zwracane w wyniku rozpoznawania. Dostęp do informacji semantycznych w wyniku rozpoznawania można uzyskać przy użyciu Semantics właściwości RecognizedPhrase , która jest dostępna w programie obsługi SpeechRecognized zdarzenia. Jeśli GrammarBuilder definiuje a SemanticResultKey , to może służyć do pobierania informacji semantycznych w wyniku rozpoznawania, który jest skojarzony z kluczem. Zapoznaj się z przykładem dla Append(SemanticResultKey) , a także zobacz SemanticResultValue i SemanticResultKey .

Ważne

W przypadku konstruowania GrammarBuilder obiektów, które zawierają SemanticResultValue SemanticResultKey wystąpienia lub, upewnij się, że nie utworzysz zduplikowanych elementów semantycznych o takiej samej nazwie klucza lub wielu elementach semantycznych, które mogą wielokrotnie modyfikować Value Właściwość SemanticValue obiektu. Aparat rozpoznawania mowy może zgłosić wyjątek, Jeśli napotkają te okoliczności.

Zobacz też

Dotyczy

GrammarBuilder(SemanticResultValue)

Inicjuje nowe wystąpienie GrammarBuilder klasy z wartości semantycznej.

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)

Parametry

value
SemanticResultValue

Para wartości semantycznych lub nazwa/wartość.

Przykłady

Poniższy przykład tworzy gramatykę rozpoznawania mowy, która może rozpoznawać dwie frazy " colorChoice w tle" i "Set Background to colorChoice", gdzie colorChoice jest wybrane z zestawu kolorów. Gramatyka pozwala użytkownikowi mówić dowolną z kilku nazw kolorów i zwraca informacje semantyczne o rozpoznanej nazwie koloru do aplikacji.

W przykładzie jest używany pojedynczy element SemanticResultKey , za pomocą którego można pobrać obiekt SemanticValue , który jest skojarzony z kolorem wymawianym przez użytkownika. Na przykład, jeśli dane wejściowe zawierają frazę "Ustaw tło na czerwony", wynik rozpoznawania zawiera wartość semantyczną "#FF0000", którą można pobrać przy użyciu procedury obsługi dla SpeechRecognized zdarzenia.

W przykładzie używane String Choices SemanticResultKey są obiekty,,, SemanticResultValue i GrammarBuilder do tworzenia ograniczeń, które są zawarte w ostatnim GrammarBuilder obiekcie, bothPhrases . Na koniec przykład tworzy Grammar obiekt od ukończonej 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;  
}  

Uwagi

Podczas tworzenia GrammarBuilder wystąpienia z SemanticResultValue obiektu, należy dodać informacje semantyczne do gramatyki, które mogą być zwracane w wyniku rozpoznawania. Dostęp do informacji semantycznych w wyniku rozpoznawania można uzyskać przy użyciu Semantics właściwości RecognizedPhrase , która jest dostępna w programie obsługi SpeechRecognized zdarzenia. Jeśli GrammarBuilder definiuje a SemanticResultKey , to może służyć do pobierania informacji semantycznych w wyniku rozpoznawania, który jest skojarzony z kluczem. Zapoznaj się z przykładem dla Append(SemanticResultKey) , a także zobacz SemanticResultValue i SemanticResultKey .

Ważne

W przypadku konstruowania GrammarBuilder obiektów, które zawierają SemanticResultValue SemanticResultKey wystąpienia lub, upewnij się, że nie utworzysz zduplikowanych elementów semantycznych o takiej samej nazwie klucza lub wielu elementach semantycznych, które mogą wielokrotnie modyfikować Value Właściwość SemanticValue obiektu. Aparat rozpoznawania mowy może zgłosić wyjątek, Jeśli napotkają te okoliczności.

Zobacz też

Dotyczy

GrammarBuilder(String)

Inicjuje nowe wystąpienie GrammarBuilder klasy z sekwencji wyrazów.

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)

Parametry

phrase
String

Sekwencja wyrazów.

Przykłady

Poniższy przykład używa GrammarBuilder i Choices obiektów do konstruowania gramatyki, która może rozpoznawać jedną z dwóch fraz, " colorChoice w tle" lub "Set Background to colorChoice".

Po utworzeniu listy akceptowalnych wartości dla colorChoice przy użyciu Choices obiektu, przykład inicjuje dwa GrammarBuilder obiekty makePhrase i setPhrase , przy użyciu ciągu jako argumentu.

Przykład tworzy Grammar obiekt na podstawie Choices rzutowania obiektu na GrammarBuilder obiekt.

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;  
}  

Uwagi

Fraza reprezentuje dokładną wymawianą frazę, którą może rozpoznać Gramatyka rozpoznawania mowy. Aby uzyskać więcej informacji na temat tworzenia gramatyki rozpoznawania mowy zawierającej ciągi, zobacz Używanie ciągów do tworzenia gramatyki GrammarBuilder.

Zobacz też

Dotyczy

GrammarBuilder(String, SubsetMatchingMode)

Inicjuje nowe wystąpienie GrammarBuilder klasy dla podzestawu sekwencji wyrazów.

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)

Parametry

phrase
String

Sekwencja wyrazów.

subsetMatchingCriteria
SubsetMatchingMode

Tryb dopasowania, którego Gramatyka rozpoznawania mowy używa do rozpoznawania frazy.

Przykłady

Poniższy przykład tworzy gramatykę rozpoznawania mowy dla każdej SubsetMatchingMode wartości i gramatykę do wyboru między gramatykami w trybie dopasowywania. Jeśli wartość phrase to "1 2 3 4 5 6 7", wówczas Gramatyka podsekwencji rozpoznaje dane wejściowe "2 3 4", ale nie dane wejściowe "1 3 5". Jednak Gramatyka uporządkowana podzbiór rozpoznaje oba te dane wejściowe.

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();  
}  

Uwagi

phraseParametr reprezentuje frazę, którą może rozpoznać Gramatyka rozpoznawania mowy. subsetMatchingModeParametr określa podzestaw frazy, która może być wymawiana, aby osiągnąć pomyślne rozpoznanie całej frazy. Możesz użyć tego do utworzenia gramatyki z listą wpisów, które mają długie nazwy, bez konieczności, aby użytkownicy wymawiali całą nazwę w celu dopasowania do elementu.

Aby uzyskać więcej informacji na temat dopasowywania trybów, zobacz SubsetMatchingMode . Aby uzyskać więcej informacji na temat tworzenia gramatyki rozpoznawania mowy zawierającej ciągi, zobacz Używanie ciągów do tworzenia gramatyki GrammarBuilder.

Zobacz też

Dotyczy

GrammarBuilder(GrammarBuilder, Int32, Int32)

Inicjuje nowe wystąpienie GrammarBuilder klasy z Powtórzonego elementu.

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)

Parametry

builder
GrammarBuilder

Powtórzony element.

minRepeat
Int32

Minimalna liczba przypadków, gdy dane wejściowe zgodne z elementem zdefiniowanym przez builder muszą następować dopasowanie.

maxRepeat
Int32

Maksymalna liczba przypadków, gdy dane wejściowe zgodne z elementem zdefiniowanym przez builder mogą wystąpić jako dopasowanie.

Przykłady

Poniższy przykład tworzy gramatykę rozpoznawania mowy do porządkowania Pizza. Zaczyna od opcjonalnej, otwierającej frazy, po której następuje jeden do czterech toppings i zamyka wyraz "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;  
}  

Uwagi

Jeśli wartość minRepeat jest równa 0, Nowa GrammarBuilder reprezentuje element opcjonalny.

Wartość minRepeat musi być większa lub równa 0 i mniejsza lub równa wartości maxRepeat .

Ważne

Jeśli określisz powtórzenia dla GrammarBuilder obiektów, które zawierają SemanticResultValue lub SemanticResultKey wystąpienia, upewnij się, że nie utworzysz zduplikowanych elementów semantycznych o tej samej nazwie klucza lub wielu elementach semantycznych, które mogą wielokrotnie modyfikować Value Właściwość SemanticValue obiektu. Aparat rozpoznawania mowy może zgłosić wyjątek, Jeśli napotkają te okoliczności.

Zobacz też

Dotyczy

GrammarBuilder(String, Int32, Int32)

Inicjuje nowe wystąpienie GrammarBuilder klasy z sekwencji wyrazów w String i określa, ile razy String można powtarzać.

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)

Parametry

phrase
String

Powtórzona sekwencja wyrazów.

minRepeat
Int32

Minimalna liczba przypadków, gdy dane wejściowe zgodne z frazą muszą wystąpić, aby stanowić dopasowanie.

maxRepeat
Int32

Maksymalna liczba przypadków, gdy dane wejściowe pasujące do frazy mogą stanowić dopasowanie.

Przykłady

Poniższy przykład tworzy gramatykę rozpoznawania mowy do porządkowania Pizza. Zaczyna od opcjonalnej, otwierającej frazy, po której następuje jeden do czterech toppings i zamyka wyraz "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;  
}  

Uwagi

Jeśli wartość minRepeat jest równa 0, Nowa GrammarBuilder reprezentuje element opcjonalny.

Wartość minRepeat musi być większa lub równa 0 i mniejsza lub równa wartości maxRepeat . Aby uzyskać więcej informacji na temat tworzenia gramatyki rozpoznawania mowy zawierającej ciągi, zobacz Używanie ciągów do tworzenia gramatyki GrammarBuilder.

Zobacz też

Dotyczy