Condividi tramite


GrammarBuilder Costruttori

Definizione

Inizializza una nuova istanza della classe GrammarBuilder.

Overload

GrammarBuilder()

Inizializza una nuova istanza vuota della classe GrammarBuilder.

GrammarBuilder(Choices)

Inizializza una nuova istanza della classe GrammarBuilder da un set di alternative.

GrammarBuilder(SemanticResultKey)

Inizializza una nuova istanza della classe GrammarBuilder a partire da una chiave semantica.

GrammarBuilder(SemanticResultValue)

Inizializza una nuova istanza della classe GrammarBuilder a partire da un valore semantico.

GrammarBuilder(String)

Inizializza una nuova istanza della classe GrammarBuilder da una sequenza di parole.

GrammarBuilder(String, SubsetMatchingMode)

Inizializza una nuova istanza della classe GrammarBuilder per un subset di una sequenza di parole.

GrammarBuilder(GrammarBuilder, Int32, Int32)

Inizializza una nuova istanza della classe GrammarBuilder da un elemento ripetuto.

GrammarBuilder(String, Int32, Int32)

Inizializza una nuova istanza della classe GrammarBuilder dalla sequenza di parole in un oggetto String e specifica quante volte può essere ripetuto l'oggetto String.

Commenti

Le istanze di questa classe possono essere ottenute anche tramite conversioni implicite da altre classi o combinando un oggetto con un GrammarBuilder secondo oggetto a da un nuovo GrammarBuilderoggetto . Per altre informazioni, vedere i Implicit metodi e Addition .

Per aggiungere vincoli a un oggetto esistenteGrammarBuilder, usare i Addmetodi , Append, AppendDictationAppendRuleReference, e AppendWildcard e l'operatore Addition .

Importante

Il riconoscimento vocale può generare un'eccezione quando si usa una grammatica di riconoscimento vocale che contiene elementi semantici duplicati con lo stesso nome chiave o più elementi semantici che potrebbero modificare ripetutamente il valore dello stesso elemento semantico.

Per altre informazioni sulla compilazione e sull'uso delle grammatiche di riconoscimento vocale, vedere Riconoscimento vocale.

GrammarBuilder()

Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs

Inizializza una nuova istanza vuota della classe GrammarBuilder.

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

Esempio

Nell'esempio seguente vengono GrammarBuilder utilizzati oggetti e Choices per costruire una grammatica in grado di riconoscere una delle due frasi, "Make background colorChoice" o "Imposta sfondo su colorChoice".

Nell'esempio viene utilizzato un Choices oggetto per creare un elenco di valori accettabili per colorChoice da una matrice di String oggetti . Un Choices oggetto è analogo all'elemento one-of nella specifica SRGS e contiene un set di frasi alternative, una delle quali può essere riconosciuta quando pronunciata. Nell'esempio viene inoltre usato un Choices oggetto per raggruppare una matrice di due GrammarBuilder oggetti in una coppia di frasi alternative che la grammatica risultante può riconoscere. Parole o frasi alternative sono un componente della maggior parte delle grammatiche e l'oggetto Choices fornisce questa funzionalità per le grammatiche costruite con GrammarBuilder.

L'esempio crea infine un Grammar oggetto da un GrammarBuilder oggetto costruito da un Choices oggetto .

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

Commenti

Per aggiungere regole a un oggetto esistente GrammarBuilder , usare i Addmetodi , Append, AppendDictation, AppendRuleReferencee AppendWildcard e l'operatore Addition .

Importante

Il riconoscimento vocale può generare un'eccezione quando si usa una grammatica di riconoscimento vocale che contiene elementi semantici duplicati con lo stesso nome chiave o più elementi semantici che potrebbero modificare ripetutamente il valore dello stesso elemento semantico.

Vedi anche

Si applica a

GrammarBuilder(Choices)

Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs

Inizializza una nuova istanza della classe GrammarBuilder da un set di alternative.

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)

Parametri

alternateChoices
Choices

Set di alternative.

Esempio

Nell'esempio seguente vengono GrammarBuilder utilizzati oggetti e Choices per costruire una grammatica in grado di riconoscere una delle due frasi, "Make background colorChoice" o "Imposta sfondo su colorChoice".

Nell'esempio viene utilizzato un Choices oggetto per creare un elenco di valori accettabili per colorChoice da una matrice di String oggetti . Un Choices oggetto è analogo all'elemento one-of nella specifica SRGS e contiene un set di frasi alternative, che possono essere riconosciute quando pronunciate. Nell'esempio viene inoltre usato un Choices oggetto per raggruppare una matrice di due GrammarBuilder oggetti in una coppia di frasi alternative che la grammatica risultante può riconoscere. Parole o frasi alternative sono un componente della maggior parte delle grammatiche e l'oggetto Choices fornisce questa funzionalità per le grammatiche costruite con GrammarBuilder.

L'esempio crea infine un Grammar oggetto da un GrammarBuilder oggetto costruito da un Choices oggetto .

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

Commenti

Per altre informazioni sulla creazione di una grammatica di riconoscimento vocale contenente alternative, vedere Using Choices to Create a GrammarBuilder GrammarBuilder Grammar.

Vedi anche

Si applica a

GrammarBuilder(SemanticResultKey)

Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs

Inizializza una nuova istanza della classe GrammarBuilder a partire da una chiave semantica.

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)

Parametri

key
SemanticResultKey

La chiave semantica.

Esempio

Nell'esempio seguente viene creata una grammatica di riconoscimento vocale in grado di riconoscere le due frasi, "Make background colorChoice" e "Set background to colorChoice", dove colorChoice è selezionato da un set di colori. La grammatica consente a un utente di parlare di diversi nomi di colore e restituisce informazioni semantiche sul nome di colore riconosciuto all'applicazione.

Nell'esempio viene utilizzato un singolo SemanticResultKey oggetto con cui è possibile recuperare l'oggetto SemanticValue associato al colore parlato dall'utente. Ad esempio, se l'input contiene la frase "Imposta sfondo su rosso", il risultato del riconoscimento contiene il valore semantico "#FF0000", che è possibile recuperare usando un gestore per l'evento SpeechRecognized .

Nell'esempio vengono usati Stringgli oggetti , Choices, SemanticResultKeySemanticResultValue, e GrammarBuilder per compilare i vincoli contenuti nell'ultimo GrammarBuilder oggetto , bothPhrases. Infine, l'esempio costruisce un Grammar oggetto dall'oggetto completato 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;
}

Commenti

Quando si crea un'istanza GrammarBuilder da un SemanticResultValue oggetto , si aggiungono informazioni semantiche alla grammatica che può essere restituita nel risultato del riconoscimento. È possibile accedere alle informazioni semantiche nel risultato del riconoscimento usando la Semantics proprietà di RecognizedPhrase, disponibile nel gestore per l'evento SpeechRecognized . Se definisce GrammarBuilder un SemanticResultKeyoggetto , può essere utilizzato per recuperare le informazioni semantiche in un risultato di riconoscimento associato alla chiave. Vedere l'esempio per Append(SemanticResultKey)e vedere SemanticResultValue anche e SemanticResultKey.

Importante

Quando si costruiscono GrammarBuilder oggetti contenenti SemanticResultValue istanze o SemanticResultKey , assicurarsi di evitare di creare elementi semantici duplicati con lo stesso nome di chiave o più elementi semantici che potrebbero modificare ripetutamente la Value proprietà di un SemanticValue oggetto. Il riconoscimento vocale può generare un'eccezione se si verifica questa situazione.

Vedi anche

Si applica a

GrammarBuilder(SemanticResultValue)

Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs

Inizializza una nuova istanza della classe GrammarBuilder a partire da un valore semantico.

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)

Parametri

value
SemanticResultValue

Il valore semantico o la coppia nome/valore.

Esempio

Nell'esempio seguente viene creata una grammatica di riconoscimento vocale in grado di riconoscere le due frasi, "Make background colorChoice" e "Set background to colorChoice", dove colorChoice è selezionato da un set di colori. La grammatica consente a un utente di parlare di diversi nomi di colore e restituisce informazioni semantiche sul nome di colore riconosciuto all'applicazione.

Nell'esempio viene utilizzato un singolo SemanticResultKey oggetto con cui è possibile recuperare l'oggetto SemanticValue associato al colore parlato dall'utente. Ad esempio, se l'input contiene la frase "Imposta sfondo su rosso", il risultato del riconoscimento contiene il valore semantico "#FF0000", che è possibile recuperare usando un gestore per l'evento SpeechRecognized .

Nell'esempio vengono usati Stringgli oggetti , Choices, SemanticResultKeySemanticResultValue, e GrammarBuilder per compilare i vincoli contenuti nell'ultimo GrammarBuilder oggetto , bothPhrases. Infine, l'esempio costruisce un Grammar oggetto dall'oggetto completato 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;
}

Commenti

Quando si crea un'istanza GrammarBuilder da un SemanticResultValue oggetto , si aggiungono informazioni semantiche alla grammatica che può essere restituita nel risultato del riconoscimento. È possibile accedere alle informazioni semantiche nel risultato del riconoscimento usando la Semantics proprietà di RecognizedPhrase, disponibile nel gestore per l'evento SpeechRecognized . Se definisce GrammarBuilder un SemanticResultKeyoggetto , può essere utilizzato per recuperare le informazioni semantiche in un risultato di riconoscimento associato alla chiave. Vedere l'esempio per Append(SemanticResultKey)e vedere SemanticResultValue anche e SemanticResultKey.

Importante

Quando si costruiscono GrammarBuilder oggetti contenenti SemanticResultValue istanze o SemanticResultKey , assicurarsi di evitare di creare elementi semantici duplicati con lo stesso nome di chiave o più elementi semantici che potrebbero modificare ripetutamente la Value proprietà di un SemanticValue oggetto. Il riconoscimento vocale può generare un'eccezione se si verifica questa situazione.

Vedi anche

Si applica a

GrammarBuilder(String)

Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs

Inizializza una nuova istanza della classe GrammarBuilder da una sequenza di parole.

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)

Parametri

phrase
String

La sequenza di parole.

Esempio

Nell'esempio seguente vengono GrammarBuilder utilizzati oggetti e Choices per costruire una grammatica in grado di riconoscere una delle due frasi, "Make background colorChoice" o "Imposta sfondo su colorChoice".

Dopo aver creato un elenco di valori accettabili per colorChoice usando un Choices oggetto , nell'esempio vengono inizializzati due GrammarBuilder oggetti makePhrase e setPhrase, usando una stringa come argomento.

L'esempio crea infine un Grammar oggetto da un Choices oggetto di cui viene eseguito il cast a un GrammarBuilder oggetto .

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

Commenti

La frase rappresenta una frase pronunciata esatta che la grammatica di riconoscimento vocale può riconoscere. Per altre informazioni sulla compilazione di una grammatica di riconoscimento vocale contenente stringhe, vedere Using Strings to Create a GrammarBuilder Grammar.For more information about building a speech recognition grammar that contains strings, see Using Strings to Create a GrammarBuilder GrammarBuilder Grammar.

Vedi anche

Si applica a

GrammarBuilder(String, SubsetMatchingMode)

Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs

Inizializza una nuova istanza della classe GrammarBuilder per un subset di una sequenza di parole.

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)

Parametri

phrase
String

La sequenza di parole.

subsetMatchingCriteria
SubsetMatchingMode

La modalità di corrispondenza che la grammatica di riconoscimento vocale utilizza per riconoscere la frase.

Esempio

Nell'esempio seguente viene creata una grammatica di riconoscimento vocale per ogni SubsetMatchingMode valore e una grammatica per la scelta tra le grammatiche in modalità corrispondente. Se il valore di phrase è "uno due tre quattro cinque sei sette", la grammatica Subsequence riconosce l'input "due tre quattro", ma non l'input "uno tre cinque". Tuttavia, la grammatica Del subset ordinato riconosce entrambi questi input.

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

Commenti

Il phrase parametro rappresenta la frase che la grammatica del riconoscimento vocale può riconoscere. Il subsetMatchingMode parametro specifica un subset della frase che può essere pronunciata per ottenere il riconoscimento corretto dell'intera frase. È possibile usarlo per creare una grammatica con un elenco di voci con nomi lunghi, senza richiedere agli utenti di pronunciare un intero nome in modo che corrisponda a un elemento.

Per altre informazioni sulle modalità di corrispondenza, vedere SubsetMatchingMode. Per altre informazioni sulla compilazione di una grammatica di riconoscimento vocale contenente stringhe, vedere Using Strings to Create a GrammarBuilder Grammar.For more information about building a speech recognition grammar that contains strings, see Using Strings to Create a GrammarBuilder GrammarBuilder Grammar.

Vedi anche

Si applica a

GrammarBuilder(GrammarBuilder, Int32, Int32)

Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs

Inizializza una nuova istanza della classe GrammarBuilder da un elemento ripetuto.

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)

Parametri

builder
GrammarBuilder

Elemento ripetuto.

minRepeat
Int32

Il numero minimo di volte in cui deve verificarsi un input che corrisponde all'elemento definito da builder per costituire una corrispondenza.

maxRepeat
Int32

Il numero massimo di volte in cui può verificarsi un input che corrisponde all'elemento definito da builder per costituire una corrispondenza.

Esempio

Nell'esempio seguente viene creata una grammatica di riconoscimento vocale per ordinare una pizza. Inizia con una frase facoltativa, aperta, seguita da uno a quattro condimenti e si chiude con la parola "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;
}

Commenti

Se il valore di minRepeat è 0, il nuovo GrammarBuilder rappresenta un elemento facoltativo.

Il valore di minRepeat deve essere maggiore o uguale a 0 e minore o uguale al valore di maxRepeat.

Importante

Quando si specificano ripetizioni per GrammarBuilder gli oggetti che contengono SemanticResultValue o SemanticResultKey istanze, assicurarsi di evitare di creare elementi semantici duplicati con lo stesso nome di chiave o più elementi semantici che potrebbero modificare ripetutamente la Value proprietà di un SemanticValue oggetto. Il riconoscimento vocale può generare un'eccezione se si verifica questa situazione.

Vedi anche

Si applica a

GrammarBuilder(String, Int32, Int32)

Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs
Origine:
GrammarBuilder.cs

Inizializza una nuova istanza della classe GrammarBuilder dalla sequenza di parole in un oggetto String e specifica quante volte può essere ripetuto l'oggetto 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)

Parametri

phrase
String

La sequenza ripetuta di parole.

minRepeat
Int32

Il numero minimo di volte in cui deve verificarsi l'input che corrisponde alla frase per costituire una corrispondenza.

maxRepeat
Int32

Il numero massimo di volte in cui può verificarsi un input che corrisponde alla frase per costituire una corrispondenza.

Esempio

Nell'esempio seguente viene creata una grammatica di riconoscimento vocale per ordinare una pizza. Inizia con una frase facoltativa, aperta, seguita da uno a quattro condimenti e si chiude con la parola "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;
}

Commenti

Se il valore di minRepeat è 0, il nuovo GrammarBuilder rappresenta un elemento facoltativo.

Il valore di minRepeat deve essere maggiore o uguale a 0 e minore o uguale al valore di maxRepeat. Per altre informazioni sulla compilazione di una grammatica di riconoscimento vocale contenente stringhe, vedere Using Strings to Create a GrammarBuilder Grammar.For more information about building a speech recognition grammar that contains strings, see Using Strings to Create a GrammarBuilder GrammarBuilder Grammar.

Vedi anche

Si applica a