Freigeben über


GrammarBuilder Konstruktoren

Definition

Initialisiert eine neue Instanz der GrammarBuilder-Klasse.

Überlädt

GrammarBuilder()

Initialisiert eine neue leere Instanz der GrammarBuilder-Klasse.

GrammarBuilder(Choices)

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus einer Gruppe von Alternativen.

GrammarBuilder(SemanticResultKey)

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus einem semantischen Schlüssel.

GrammarBuilder(SemanticResultValue)

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus einem semantischen Wert.

GrammarBuilder(String)

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus einer Sequenz von Wörtern.

GrammarBuilder(String, SubsetMatchingMode)

Initialisiert eine neue Instanz der GrammarBuilder-Klasse für eine Teilmenge einer Sequenz von Wörtern.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus einem wiederholten Element.

GrammarBuilder(String, Int32, Int32)

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus der Sequenz von Wörtern in einem String und gibt an, wie oft der String wiederholt werden kann.

Hinweise

Instanzen dieser Klasse können auch durch implizite Konvertierungen aus anderen Klassen oder durch Kombinieren eines GrammarBuilder Objekts mit einem zweiten Objekt aus einem neuen GrammarBuilderabgerufen werden. Weitere Informationen finden Sie in den Implicit Methoden und Addition .

Um einer vorhandenen GrammarBuilderMethode Einschränkungen hinzuzufügen, verwenden Sie die AddMethoden , Append, AppendDictation, AppendRuleReferenceund AppendWildcard sowie den Addition Operator.

Wichtig

Die Spracherkennung kann eine Ausnahme auslösen, wenn eine Spracherkennungsgrammatik verwendet wird, die doppelte semantische Elemente mit demselben Schlüsselnamen oder mehrere semantische Elemente enthält, die den Wert desselben semantischen Elements wiederholt ändern können.

Weitere Informationen zum Erstellen und Verwenden von Spracherkennungsgrammatiken finden Sie unter Spracherkennung.

GrammarBuilder()

Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs

Initialisiert eine neue leere Instanz der GrammarBuilder-Klasse.

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

Beispiele

Im folgenden Beispiel werden -Objekte und Choices verwendetGrammarBuilder, um eine Grammatik zu erstellen, die einen der beiden Ausdrücke erkennen kann, "Hintergrundfarbe auswählen" oder "Hintergrund auf colorChoice festlegen".

Im Beispiel wird ein Choices -Objekt verwendet, um eine Liste zulässiger Werte für colorChoice aus einem Array von String -Objekten zu erstellen. Ein Choices -Objekt ist analog zum one-of -Element in der SRGS-Spezifikation und enthält eine Reihe alternativer Ausdrücke, von denen jeder erkannt werden kann, wenn er gesprochen wird. Im Beispiel wird auch ein Choices -Objekt verwendet, um ein Array von zwei GrammarBuilder Objekten in einem Paar alternativer Ausdrücke zu gruppieren, die von der resultierenden Grammatik erkannt werden können. Alternative Wörter oder Ausdrücke sind eine Komponente der meisten Grammatiken, und das Choices -Objekt stellt diese Funktionalität für Grammatiken bereit, die mit GrammarBuildererstellt wurden.

Im Beispiel wird schließlich ein Grammar -Objekt aus einem GrammarBuilder aus einem Choices -Objekt erstellt.

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

Hinweise

Um einem vorhandenen GrammarBuilder Objekt Regeln hinzuzufügen, verwenden Sie die AddMethoden , AppendDictationAppend, , AppendRuleReferenceund AppendWildcard sowie den Addition Operator.

Wichtig

Die Spracherkennung kann eine Ausnahme auslösen, wenn eine Spracherkennungsgrammatik verwendet wird, die doppelte semantische Elemente mit demselben Schlüsselnamen enthält, oder mehrere semantische Elemente, die den Wert desselben semantischen Elements wiederholt ändern können.

Weitere Informationen

Gilt für:

GrammarBuilder(Choices)

Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus einer Gruppe von Alternativen.

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)

Parameter

alternateChoices
Choices

Der Satz von Alternativen.

Beispiele

Im folgenden Beispiel werden -Objekte und Choices verwendetGrammarBuilder, um eine Grammatik zu erstellen, die einen der beiden Ausdrücke erkennen kann, "Hintergrundfarbe auswählen" oder "Hintergrund auf colorChoice festlegen".

Im Beispiel wird ein Choices -Objekt verwendet, um eine Liste zulässiger Werte für colorChoice aus einem Array von String -Objekten zu erstellen. Ein Choices -Objekt entspricht dem one-of -Element in der SRGS-Spezifikation und enthält eine Reihe alternativer Ausdrücke, von denen jeder erkannt werden kann, wenn er gesprochen wird. Im Beispiel wird auch ein Choices -Objekt verwendet, um ein Array von zwei GrammarBuilder Objekten in einem Paar alternativer Ausdrücke zu gruppieren, die von der resultierenden Grammatik erkannt werden können. Alternative Wörter oder Ausdrücke sind eine Komponente der meisten Grammatiken, und das Choices -Objekt stellt diese Funktionalität für Grammatiken bereit, die mit GrammarBuildererstellt wurden.

Im Beispiel wird schließlich ein Grammar -Objekt aus einem GrammarBuilder aus einem Choices -Objekt erstellt.

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

Hinweise

Weitere Informationen zum Erstellen einer Spracherkennungsgrammatik, die Alternativen enthält, finden Sie unter Verwenden von Auswahlmöglichkeiten zum Erstellen einer GrammarBuilder-Grammatik.

Weitere Informationen

Gilt für:

GrammarBuilder(SemanticResultKey)

Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus einem semantischen Schlüssel.

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)

Parameter

key
SemanticResultKey

Der semantische Schlüssel.

Beispiele

Im folgenden Beispiel wird eine Spracherkennungsgrammatik erstellt, die die beiden Ausdrücke " Hintergrundfarbe auswählenChoice" und "Hintergrund auf colorChoice festlegen" erkennen kann, wobei colorChoice aus einer Reihe von Farben ausgewählt ist. Die Grammatik ermöglicht es einem Benutzer, einen von mehreren Farbnamen zu sprechen, und gibt semantische Informationen über den erkannten Farbnamen an die Anwendung zurück.

Im Beispiel wird eine einzelne SemanticResultKey verwendet, mit der Sie die abrufen können, die SemanticValue der vom Benutzer gesprochenen Farbe zugeordnet ist. Wenn die Eingabe beispielsweise den Ausdruck "Hintergrund auf rot festlegen" enthält, enthält das Erkennungsergebnis den semantischen Wert "#FF0000", den Sie mithilfe eines Handlers für das SpeechRecognized Ereignis abrufen können.

Im Beispiel werden die -, - , - und GrammarBuilder -Objekte verwendetChoicesString, um die Einschränkungen zu erstellen, bothPhrasesdie alle im letzten GrammarBuilder -Objekt enthalten sind. SemanticResultValueSemanticResultKey Schließlich erstellt das Beispiel ein Grammar -Objekt aus dem abgeschlossenen 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;
}

Hinweise

Wenn Sie eine GrammarBuilder Instanz aus einem SemanticResultValue -Objekt erstellen, fügen Sie der Grammatik semantische Informationen hinzu, die im Erkennungsergebnis zurückgegeben werden können. Sie können auf die semantischen Informationen im Erkennungsergebnis mithilfe der Semantics -Eigenschaft von RecognizedPhrasezugreifen, die im Handler für das SpeechRecognized Ereignis verfügbar ist. Wenn definiert GrammarBuilder , kann dies verwendet werden, um die semantischen Informationen in einem Erkennungsergebnis SemanticResultKeyabzurufen, das dem Schlüssel zugeordnet ist. Sehen Sie sich das Beispiel für Append(SemanticResultKey)und sowie SemanticResultValue an SemanticResultKey.

Wichtig

Wenn Sie Objekte erstellenGrammarBuilder, die Oder SemanticResultKey -Instanzen enthaltenSemanticResultValue, sollten Sie vermeiden, dass Sie doppelte semantische Elemente mit demselben Schlüsselnamen oder mehreren semantischen Elementen erstellen, die die Value Eigenschaft eines SemanticValue Objekts wiederholt ändern könnten. Die Spracherkennung kann eine Ausnahme auslösen, wenn diese Umstände auftreten.

Weitere Informationen

Gilt für:

GrammarBuilder(SemanticResultValue)

Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus einem semantischen Wert.

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)

Parameter

value
SemanticResultValue

Der semantische Wert oder das Name/Wert-Paar.

Beispiele

Im folgenden Beispiel wird eine Spracherkennungsgrammatik erstellt, die die beiden Ausdrücke " Hintergrundfarbe auswählenChoice" und "Hintergrund auf colorChoice festlegen" erkennen kann, wobei colorChoice aus einer Reihe von Farben ausgewählt ist. Die Grammatik ermöglicht es einem Benutzer, einen von mehreren Farbnamen zu sprechen, und gibt semantische Informationen über den erkannten Farbnamen an die Anwendung zurück.

Im Beispiel wird eine einzelne SemanticResultKey verwendet, mit der Sie die abrufen können, die SemanticValue der vom Benutzer gesprochenen Farbe zugeordnet ist. Wenn die Eingabe beispielsweise den Ausdruck "Hintergrund auf rot festlegen" enthält, enthält das Erkennungsergebnis den semantischen Wert "#FF0000", den Sie mithilfe eines Handlers für das SpeechRecognized Ereignis abrufen können.

Im Beispiel werden die -, - , - und GrammarBuilder -Objekte verwendetChoicesString, um die Einschränkungen zu erstellen, bothPhrasesdie alle im letzten GrammarBuilder -Objekt enthalten sind. SemanticResultValueSemanticResultKey Schließlich erstellt das Beispiel ein Grammar -Objekt aus dem abgeschlossenen 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;
}

Hinweise

Wenn Sie eine GrammarBuilder Instanz aus einem SemanticResultValue -Objekt erstellen, fügen Sie der Grammatik semantische Informationen hinzu, die im Erkennungsergebnis zurückgegeben werden können. Sie können auf die semantischen Informationen im Erkennungsergebnis mithilfe der Semantics -Eigenschaft von RecognizedPhrasezugreifen, die im Handler für das SpeechRecognized Ereignis verfügbar ist. Wenn definiert GrammarBuilder , kann dies verwendet werden, um die semantischen Informationen in einem Erkennungsergebnis SemanticResultKeyabzurufen, das dem Schlüssel zugeordnet ist. Sehen Sie sich das Beispiel für Append(SemanticResultKey)und sowie SemanticResultValue an SemanticResultKey.

Wichtig

Wenn Sie Objekte erstellenGrammarBuilder, die Oder SemanticResultKey -Instanzen enthaltenSemanticResultValue, sollten Sie vermeiden, dass Sie doppelte semantische Elemente mit demselben Schlüsselnamen oder mehreren semantischen Elementen erstellen, die die Value Eigenschaft eines SemanticValue Objekts wiederholt ändern könnten. Die Spracherkennung kann eine Ausnahme auslösen, wenn diese Umstände auftreten.

Weitere Informationen

Gilt für:

GrammarBuilder(String)

Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus einer Sequenz von Wörtern.

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)

Parameter

phrase
String

Die Wortsequenz.

Beispiele

Im folgenden Beispiel werden -Objekte und Choices verwendetGrammarBuilder, um eine Grammatik zu erstellen, die einen der beiden Ausdrücke erkennen kann, "Hintergrundfarbe auswählen" oder "Hintergrund auf colorChoice festlegen".

Nach dem Erstellen einer Liste zulässiger Werte für colorChoice mithilfe eines Choices -Objekts initialisiert das Beispiel zwei GrammarBuilder -Objekte und setPhrasemakePhrase , wobei eine Zeichenfolge als Argument verwendet wird.

Im Beispiel wird schließlich ein Grammar -Objekt aus einem Choices -Objekt erstellt, das in ein GrammarBuilder -Objekt umgewandelt wird.

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

Hinweise

Der Ausdruck stellt einen genauen gesprochenen Ausdruck dar, den die Spracherkennungsgrammatik erkennen kann. Weitere Informationen zum Erstellen einer Spracherkennungsgrammatik, die Zeichenfolgen enthält, finden Sie unter Verwenden von Zeichenfolgen zum Erstellen einer GrammarBuilder-Grammatik.

Weitere Informationen

Gilt für:

GrammarBuilder(String, SubsetMatchingMode)

Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs

Initialisiert eine neue Instanz der GrammarBuilder-Klasse für eine Teilmenge einer Sequenz von Wörtern.

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)

Parameter

phrase
String

Die Wortsequenz.

subsetMatchingCriteria
SubsetMatchingMode

Der entsprechende Modus, den die Spracherkennungsgrammatik verwendet, um den Ausdruck zu erkennen.

Beispiele

Im folgenden Beispiel wird eine Spracherkennungsgrammatik für jeden SubsetMatchingMode Wert und eine Grammatik für die Auswahl zwischen den Grammatiken im Abgleichsmodus erstellt. Wenn der Wert von phrase "one two three four five six seven" lautet, erkennt die Subsequence-Grammatik die Eingabe "two three four", aber nicht die Eingabe "one three five". Die Grammatik der sortierten Teilmenge erkennt jedoch beide Eingaben.

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

Hinweise

Der phrase Parameter stellt den Ausdruck dar, den die Spracherkennungsgrammatik erkennen kann. Der subsetMatchingMode Parameter gibt eine Teilmenge des Ausdrucks an, der gesprochen werden kann, um eine erfolgreiche Erkennung des gesamten Ausdrucks zu erreichen. Sie können dies verwenden, um eine Grammatik mit einer Liste von Einträgen mit langen Namen zu erstellen, ohne dass Benutzer einen ganzen Namen sprechen müssen, um einem Element zu entsprechen.

Weitere Informationen zu den übereinstimmenden Modi finden Sie unter SubsetMatchingMode. Weitere Informationen zum Erstellen einer Spracherkennungsgrammatik, die Zeichenfolgen enthält, finden Sie unter Verwenden von Zeichenfolgen zum Erstellen einer GrammarBuilder-Grammatik.

Weitere Informationen

Gilt für:

GrammarBuilder(GrammarBuilder, Int32, Int32)

Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus einem wiederholten Element.

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)

Parameter

builder
GrammarBuilder

Das wiederholte Element.

minRepeat
Int32

Die minimale Wiederholungsrate für eine Übereinstimmung der Eingabe mit dem durch builder definierten Element, nach der eine Übereinstimmung anerkannt wird.

maxRepeat
Int32

Die maximale Wiederholungsrate für eine Übereinstimmung der Eingabe mit dem durch builder definierten Element, nach der eine Übereinstimmung anerkannt wird.

Beispiele

Im folgenden Beispiel wird eine Spracherkennungsgrammatik zum Bestellen einer Pizza erstellt. Es beginnt mit einem optionalen, öffnenden Ausdruck, gefolgt von einem bis vier Belägen, und schließt mit dem Wort "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;
}

Hinweise

Wenn der Wert von minRepeat 0 ist, stellt das neue GrammarBuilder ein optionales Element dar.

Der Wert von minRepeat muss größer oder gleich 0 und kleiner oder gleich dem Wert von maxRepeatsein.

Wichtig

Wenn Sie Wiederholungen für GrammarBuilder Objekte angeben, die oder SemanticResultKey Instanzen enthaltenSemanticResultValue, sollten Sie vermeiden, dass Duplikate semantische Elemente mit demselben Schlüsselnamen oder mehreren semantischen Elementen erstellen, die die Value Eigenschaft eines SemanticValue Objekts wiederholt ändern könnten. Die Spracherkennung kann eine Ausnahme auslösen, wenn diese Umstände auftreten.

Weitere Informationen

Gilt für:

GrammarBuilder(String, Int32, Int32)

Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs
Quelle:
GrammarBuilder.cs

Initialisiert eine neue Instanz der GrammarBuilder-Klasse aus der Sequenz von Wörtern in einem String und gibt an, wie oft der String wiederholt werden kann.

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)

Parameter

phrase
String

Die wiederholte Wortsequenz.

minRepeat
Int32

Die minimale Wiederholungsrate für eine Übereinstimmung der Eingabe mit der Phrase, nach der eine Übereinstimmung anerkannt wird.

maxRepeat
Int32

Die maximale Wiederholungsrate für eine Übereinstimmung der Eingabe mit der Phrase, nach der eine Übereinstimmung anerkannt wird.

Beispiele

Im folgenden Beispiel wird eine Spracherkennungsgrammatik zum Bestellen einer Pizza erstellt. Es beginnt mit einem optionalen, öffnenden Ausdruck, gefolgt von einem bis vier Belägen, und schließt mit dem Wort "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;
}

Hinweise

Wenn der Wert von minRepeat 0 ist, stellt das neue GrammarBuilder ein optionales Element dar.

Der Wert von minRepeat muss größer oder gleich 0 und kleiner als oder gleich dem Wert von maxRepeatsein. Weitere Informationen zum Erstellen einer Spracherkennungsgrammatik, die Zeichenfolgen enthält, finden Sie unter Verwenden von Zeichenfolgen zum Erstellen einer GrammarBuilder-Grammatik.

Weitere Informationen

Gilt für: