GrammarBuilder Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci GrammarBuilder třídy .
Přetížení
GrammarBuilder() |
Inicializuje novou prázdnou GrammarBuilder instanci třídy . |
GrammarBuilder(Choices) |
Inicializuje novou instanci GrammarBuilder třídy ze sady alternativ. |
GrammarBuilder(SemanticResultKey) |
Inicializuje novou instanci GrammarBuilder třídy ze sémantického klíče. |
GrammarBuilder(SemanticResultValue) |
Inicializuje novou instanci GrammarBuilder třídy ze sémantické hodnoty. |
GrammarBuilder(String) |
Inicializuje novou instanci GrammarBuilder třídy ze sekvence slov. |
GrammarBuilder(String, SubsetMatchingMode) |
Inicializuje novou instanci GrammarBuilder třídy pro podmnožinu posloupnosti slov. |
GrammarBuilder(GrammarBuilder, Int32, Int32) |
Inicializuje novou instanci GrammarBuilder třídy z opakovaného prvku. |
GrammarBuilder(String, Int32, Int32) |
Inicializuje novou instanci GrammarBuilder třídy ze sekvence slov v String a určuje, kolikrát String lze opakovat. |
Poznámky
Instance této třídy lze také získat implicitními převody z jiných tříd nebo kombinací objektu GrammarBuilder s druhým objektem z nového GrammarBuilderobjektu . Další informace najdete v Implicit tématu metody a Addition .
Pokud chcete přidat omezení k existujícímu GrammarBuilderobjektu , použijte Addmetody , AppendAppendDictation, AppendRuleReference, a AppendWildcard a Addition operátor .
Důležité
Rozpoznávání řeči může vyvolat výjimku při použití gramatiky rozpoznávání řeči, která obsahuje duplicitní sémantické prvky se stejným názvem klíče nebo více sémantických prvků, které by mohly opakovaně měnit hodnotu stejného sémantického prvku.
Další informace o vytváření a používání gramatiky rozpoznávání řeči najdete v tématu Rozpoznávání řeči.
GrammarBuilder()
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
Inicializuje novou prázdnou GrammarBuilder instanci třídy .
public:
GrammarBuilder();
public GrammarBuilder ();
Public Sub New ()
Příklady
Následující příklad používá GrammarBuilder objekty a Choices k vytvoření gramatiky, která dokáže rozpoznat některou ze dvou frází, "Make background colorChoice" nebo "Set background to colorChoice".
Příklad používá Choices objekt k vytvoření seznamu přijatelných hodnot pro colorChoice z pole String objektů. Objekt Choices je obdobou elementu one-of
ve specifikaci SRGS a obsahuje sadu alternativních frází, z nichž kterákoli může být rozpoznána při mluvené řeči. Příklad také používá Choices objekt k seskupení pole dvou GrammarBuilder objektů do dvojice alternativních frází, které výsledná gramatika dokáže rozpoznat. Alternativní slova nebo fráze jsou součástí většiny gramatik a Choices objekt poskytuje tuto funkci pro gramatiky vytvořené pomocí GrammarBuilder.
Příklad nakonec vytvoří Grammar objekt z objektu GrammarBuilder vytvořeného z objektu Choices .
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;
}
Poznámky
Pokud chcete přidat pravidla k existujícímu GrammarBuilder objektuAdd, použijte metody , AppendAppendDictation, AppendRuleReference, a AppendWildcard a Addition operátor .
Důležité
Rozpoznávání řeči může vyvolat výjimku při použití gramatiky rozpoznávání řeči, která obsahuje duplicitní sémantické prvky se stejným názvem klíče nebo více sémantických prvků, které by mohly opakovaně měnit hodnotu stejného sémantického prvku.
Viz také
Platí pro
GrammarBuilder(Choices)
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
Inicializuje novou instanci GrammarBuilder třídy ze sady alternativ.
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
Sada alternativ.
Příklady
Následující příklad používá GrammarBuilder objekty a Choices k vytvoření gramatiky, která dokáže rozpoznat některou ze dvou frází, "Make background colorChoice" nebo "Set background to colorChoice".
Příklad používá Choices objekt k vytvoření seznamu přijatelných hodnot pro colorChoice z pole String objektů. Objekt Choices je obdobou one-of
prvku ve specifikaci SRGS a obsahuje sadu alternativních frází, z nichž kterákoli může být rozpoznána při mluvené řeči. Příklad také používá Choices objekt k seskupení pole dvou GrammarBuilder objektů do dvojice alternativních frází, které výsledná gramatika dokáže rozpoznat. Alternativní slova nebo fráze jsou součástí většiny gramatik a Choices objekt poskytuje tuto funkci pro gramatiky vytvořené pomocí GrammarBuilder.
Příklad nakonec vytvoří Grammar objekt z objektu GrammarBuilder vytvořeného z objektu Choices .
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;
}
Poznámky
Další informace o vytváření gramatiky rozpoznávání řeči, která obsahuje alternativy, najdete v tématu Použití možností k vytvoření gramatiky GrammarBuilder.
Viz také
Platí pro
GrammarBuilder(SemanticResultKey)
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
Inicializuje novou instanci GrammarBuilder třídy ze sémantického klíče.
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
Sémantický klíč.
Příklady
Následující příklad vytvoří gramatiku rozpoznávání řeči, která dokáže rozpoznat dvě fráze, "Make background colorChoice" a "Set background to colorChoice", kde colorChoice je vybrána ze sady barev. Gramatika umožňuje uživateli vyslovit libovolný z několika názvů barev a vrátí aplikaci sémantické informace o rozpoznaném názvu barvy.
V příkladu se používá jeden SemanticResultKey , pomocí kterého můžete načíst SemanticValue objekt přidružený k barvě vyslovované uživatelem. Pokud například vstup obsahuje frázi "Nastavit pozadí na červenou", výsledek rozpoznávání obsahuje sémantickou hodnotu "#FF0000", kterou můžete načíst pomocí obslužné rutiny události SpeechRecognized
.
V příkladu se pomocí Stringobjektů , SemanticResultKeyChoices, SemanticResultValue, a GrammarBuilder vytvoří omezení obsažená v posledním GrammarBuilder objektu bothPhrases
. Nakonec příklad vytvoří Grammar objekt z dokončeného GrammarBuilderobjektu .
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;
}
Poznámky
Když vytvoříte GrammarBuilder instanci z objektu SemanticResultValue , přidáte do gramatiky sémantické informace, které se můžou vrátit ve výsledku rozpoznávání. K sémantickým informacím ve výsledku rozpoznávání můžete přistupovat pomocí Semantics vlastnosti RecognizedPhrase, která je k dispozici v obslužné rutině SpeechRecognized
události.
GrammarBuilder Pokud definuje SemanticResultKey, lze použít k načtení sémantických informací ve výsledku rozpoznávání, který je přidružen ke klíči. Podívejte se na příklad pro Append(SemanticResultKey)a podívejte se také na a SemanticResultValueSemanticResultKey.
Důležité
Při vytváření GrammarBuilder objektů, které obsahují SemanticResultValue instance nebo SemanticResultKey , ujistěte se, že se vyhnete vytváření duplicitních sémantických prvků se stejným názvem klíče nebo více sémantických prvků, které by mohly opakovaně měnit Value vlastnost objektu SemanticValue . Rozpoznávání řeči může vyvolat výjimku, pokud narazí na tyto okolnosti.
Viz také
Platí pro
GrammarBuilder(SemanticResultValue)
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
Inicializuje novou instanci GrammarBuilder třídy ze sémantické hodnoty.
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
Sémantická hodnota nebo pár název/hodnota.
Příklady
Následující příklad vytvoří gramatiku rozpoznávání řeči, která dokáže rozpoznat dvě fráze, "Make background colorChoice" a "Set background to colorChoice", kde colorChoice je vybrána ze sady barev. Gramatika umožňuje uživateli vyslovit libovolný z několika názvů barev a vrátí aplikaci sémantické informace o rozpoznaném názvu barvy.
V příkladu se používá jeden SemanticResultKey , pomocí kterého můžete načíst SemanticValue objekt přidružený k barvě vyslovované uživatelem. Pokud například vstup obsahuje frázi "Nastavit pozadí na červenou", výsledek rozpoznávání obsahuje sémantickou hodnotu "#FF0000", kterou můžete načíst pomocí obslužné rutiny události SpeechRecognized
.
V příkladu se pomocí Stringobjektů , SemanticResultKeyChoices, SemanticResultValue, a GrammarBuilder vytvoří omezení obsažená v posledním GrammarBuilder objektu bothPhrases
. Nakonec příklad vytvoří Grammar objekt z dokončeného GrammarBuilderobjektu .
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;
}
Poznámky
Když vytvoříte GrammarBuilder instanci z objektu SemanticResultValue , přidáte do gramatiky sémantické informace, které se můžou vrátit ve výsledku rozpoznávání. K sémantickým informacím ve výsledku rozpoznávání můžete přistupovat pomocí Semantics vlastnosti RecognizedPhrase, která je k dispozici v obslužné rutině SpeechRecognized
události.
GrammarBuilder Pokud definuje SemanticResultKey, lze použít k načtení sémantických informací ve výsledku rozpoznávání, který je přidružen ke klíči. Podívejte se na příklad pro Append(SemanticResultKey)a podívejte se také na a SemanticResultValueSemanticResultKey.
Důležité
Při vytváření GrammarBuilder objektů, které obsahují SemanticResultValue instance nebo SemanticResultKey , ujistěte se, že se vyhnete vytváření duplicitních sémantických prvků se stejným názvem klíče nebo více sémantických prvků, které by mohly opakovaně měnit Value vlastnost objektu SemanticValue . Rozpoznávání řeči může vyvolat výjimku, pokud narazí na tyto okolnosti.
Viz také
Platí pro
GrammarBuilder(String)
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
Inicializuje novou instanci GrammarBuilder třídy ze sekvence slov.
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
Posloupnost slov.
Příklady
Následující příklad používá GrammarBuilder objekty a Choices k vytvoření gramatiky, která dokáže rozpoznat některou ze dvou frází, "Make background colorChoice" nebo "Set background to colorChoice".
Po vytvoření seznamu přijatelných hodnot pro colorChoice pomocí objektu Choices inicializuje příklad dva GrammarBuilder objekty makePhrase
a setPhrase
pomocí řetězce jako argumentu.
Příklad nakonec vytvoří Grammar objekt z objektu Choices přetypování na GrammarBuilder objekt.
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;
}
Poznámky
Fráze představuje přesnou mluvenou frázi, kterou gramatika rozpoznávání řeči rozpozná. Další informace o vytváření gramatiky rozpoznávání řeči, která obsahuje řetězce, najdete v tématu Použití řetězců k vytvoření gramatiky GrammarBuilder.
Viz také
Platí pro
GrammarBuilder(String, SubsetMatchingMode)
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
Inicializuje novou instanci GrammarBuilder třídy pro podmnožinu posloupnosti slov.
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
Posloupnost slov.
- subsetMatchingCriteria
- SubsetMatchingMode
Režim porovnávání, který gramatika rozpoznávání řeči používá k rozpoznávání fráze.
Příklady
Následující příklad vytvoří gramatiku rozpoznávání řeči pro každou SubsetMatchingMode hodnotu a gramatiku pro výběr mezi gramatikami odpovídajícího režimu. Pokud je hodnota phrase
"jeden dva tři čtyři pět šest sedm", pak gramatika dílčí posloupnosti rozpozná vstup "dva tři čtyři", ale ne vstup "jeden tři pět". Gramatika Seřazená podmnožina však rozpozná oba tyto vstupy.
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();
}
Poznámky
Parametr phrase
představuje frázi, kterou gramatika rozpoznávání řeči rozpozná. Parametr subsetMatchingMode
určuje podmnožinu fráze, kterou lze vyslovit, aby bylo možné úspěšně rozpoznat celou frázi. Můžete ho použít k vytvoření gramatiky se seznamem položek, které mají dlouhé názvy, aniž by uživatelé museli vyslovit celé jméno, aby odpovídaly položce.
Další informace o odpovídajících režimech najdete v tématu SubsetMatchingMode. Další informace o vytváření gramatiky rozpoznávání řeči, která obsahuje řetězce, najdete v tématu Použití řetězců k vytvoření gramatiky GrammarBuilder.
Viz také
Platí pro
GrammarBuilder(GrammarBuilder, Int32, Int32)
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
Inicializuje novou instanci GrammarBuilder třídy z opakovaného prvku.
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
Opakující se prvek.
- minRepeat
- Int32
Minimální počet vstupů odpovídajících elementu definovanému parametrem builder
musí dojít k vytvoření shody.
- maxRepeat
- Int32
Maximální počet vstupů odpovídajících elementu definovanému pomocí builder
může dojít k vytvoření shody.
Příklady
Následující příklad vytvoří gramatiku rozpoznávání řeči pro objednání pizzy. Začíná volitelnou úvodní frází, po které následuje jedna až čtyři poleva a končí slovem "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;
}
Poznámky
Pokud je hodnota minRepeat
0, pak nový GrammarBuilder představuje volitelný prvek.
Hodnota minRepeat
musí být větší nebo rovna 0 a menší nebo rovna hodnotě maxRepeat
.
Důležité
Pokud zadáváte opakování pro GrammarBuilder objekty, které obsahují SemanticResultValue nebo SemanticResultKey instance, ujistěte se, že se vyhnete vytváření duplicitních sémantických prvků se stejným názvem klíče nebo více sémantických prvků, které by mohly opakovaně měnit Value vlastnost objektu SemanticValue . Rozpoznávání řeči může vyvolat výjimku, pokud narazí na tyto okolnosti.
Viz také
Platí pro
GrammarBuilder(String, Int32, Int32)
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
- Zdroj:
- GrammarBuilder.cs
Inicializuje novou instanci GrammarBuilder třídy ze sekvence slov v String a určuje, kolikrát String lze opakovat.
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
Opakovaná posloupnost slov.
- minRepeat
- Int32
Minimální počet výskytů vstupu odpovídajícího frázi, aby se shodovaly.
- maxRepeat
- Int32
Maximální počet výskytů shody vstupu odpovídajícího frázi.
Příklady
Následující příklad vytvoří gramatiku rozpoznávání řeči pro objednání pizzy. Začíná volitelnou úvodní frází, po které následuje jedna až čtyři poleva a končí slovem "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;
}
Poznámky
Pokud je hodnota minRepeat
0, pak nový GrammarBuilder představuje volitelný prvek.
Hodnota minRepeat
musí být větší nebo rovna 0 a menší nebo rovna hodnotě maxRepeat
. Další informace o vytváření gramatiky rozpoznávání řeči, která obsahuje řetězce, najdete v tématu Použití řetězců k vytvoření gramatiky GrammarBuilder.