GrammarBuilder.Append Méthode

Définition

Ajoute un élément de syntaxe à la séquence en cours d'éléments de syntaxe.

Surcharges

Append(String, Int32, Int32)

Ajoute une expression répétée à la séquence en cours d'éléments de syntaxe.

Append(GrammarBuilder, Int32, Int32)

Ajoute un élément de syntaxe répété à la séquence en cours d'éléments de syntaxe.

Append(String)

Ajoute une expression à la séquence en cours d'éléments de syntaxe.

Append(String, SubsetMatchingMode)

Ajoute un élément pour un sous-ensemble d'une expression à la séquence en cours d'éléments de syntaxe.

Append(SemanticResultKey)

Ajoute une clé sémantique à la séquence en cours d'éléments de syntaxe.

Append(SemanticResultValue)

Ajoute une valeur sémantique à la séquence en cours d'éléments de syntaxe.

Append(GrammarBuilder)

Ajoute un élément de syntaxe à la séquence en cours d'éléments de syntaxe.

Append(Choices)

Ajoute un ensemble d'alternatives à la séquence en cours d'éléments de syntaxe.

Remarques

Utilisez ces méthodes pour ajouter des éléments de grammaire à un .GrammarBuilder Lorsque vous créez des éléments de grammaire, vous pouvez les ajouter au générateur existant pour développer progressivement les contraintes d’une grammaire de reconnaissance vocale. Chaque élément est ajouté à la fin de la séquence actuelle d’éléments.

Cette méthode présente des surcharges pour l’ajout d’objets GrammarBuilder, String, Choices, SemanticResultKeyet SemanticResultValue .

Important

Le module de reconnaissance vocale peut lever une exception lors de l’utilisation d’une grammaire de reconnaissance vocale qui contient des éléments sémantiques en double avec le même nom de clé ou plusieurs éléments sémantiques susceptibles de modifier à plusieurs reprises la valeur du même élément sémantique.

Pour plus d’informations sur la création et l’utilisation de grammaires de reconnaissance vocale, consultez Reconnaissance vocale.

Append(String, Int32, Int32)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Ajoute une expression répétée à la séquence en cours d'éléments de syntaxe.

public:
 void Append(System::String ^ phrase, int minRepeat, int maxRepeat);
public void Append (string phrase, int minRepeat, int maxRepeat);
member this.Append : string * int * int -> unit
Public Sub Append (phrase As String, minRepeat As Integer, maxRepeat As Integer)

Paramètres

phrase
String

Séquence de mots répétée à ajouter.

minRepeat
Int32

Nombre minimum de fois où l'entrée correspondant à l'phrase doit se produire pour constituer une correspondance.

maxRepeat
Int32

Nombre maximum de fois où l'entrée correspondant à l'phrase peut se produire pour constituer une correspondance.

Exemples

L’exemple suivant crée une grammaire de reconnaissance vocale pour des expressions telles que « Appeler James au travail » et « Appeler Anne sur son téléphone portable », où le mot « téléphone » est facultatif. GrammarBuilder les objets et Choices sont utilisés pour construire la grammaire. L’exemple met en évidence l’utilisation de la Append méthode .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Remarques

La valeur de minRepeat doit être supérieure ou égale à 0 et inférieure ou égale à la valeur de maxRepeat.

Voir aussi

S’applique à

Append(GrammarBuilder, Int32, Int32)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Ajoute un élément de syntaxe répété à la séquence en cours d'éléments de syntaxe.

public:
 void Append(System::Speech::Recognition::GrammarBuilder ^ builder, int minRepeat, int maxRepeat);
public void Append (System.Speech.Recognition.GrammarBuilder builder, int minRepeat, int maxRepeat);
member this.Append : System.Speech.Recognition.GrammarBuilder * int * int -> unit
Public Sub Append (builder As GrammarBuilder, minRepeat As Integer, maxRepeat As Integer)

Paramètres

builder
GrammarBuilder

Élément de syntaxe répété à ajouter.

minRepeat
Int32

Nombre minimum de fois où l'entrée correspondant à l'élément défini par le builder doit se produire pour constituer une correspondance.

maxRepeat
Int32

Nombre maximum de fois où l'entrée correspondant à l'élément défini par le builder peut se produire pour constituer une correspondance.

Exemples

L’exemple suivant crée une grammaire de reconnaissance vocale pour des expressions telles que « Appeler James au travail » et « Appeler Anne sur son téléphone portable », où le mot « téléphone » est facultatif. GrammarBuilder les objets et Choices sont utilisés pour construire la grammaire. L’exemple met en évidence l’utilisation de la Append méthode .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Remarques

La valeur de minRepeat doit être supérieure ou égale à 0 et inférieure ou égale à la valeur de maxRepeat.

Important

Lorsque vous ajoutez GrammarBuilder des objets qui contiennent SemanticResultValue ou SemanticResultKey des instances à un GrammarBuilder objet, veillez à éviter de créer des éléments sémantiques en double avec le même nom de clé ou plusieurs éléments sémantiques susceptibles de modifier à plusieurs reprises la Value propriété d’un SemanticValue objet. Le module de reconnaissance vocale peut lever une exception s’il rencontre ces circonstances.

Voir aussi

S’applique à

Append(String)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Ajoute une expression à la séquence en cours d'éléments de syntaxe.

public:
 void Append(System::String ^ phrase);
public void Append (string phrase);
member this.Append : string -> unit
Public Sub Append (phrase As String)

Paramètres

phrase
String

Séquence de mots à ajouter.

Remarques

phrase est ajouté à la fin de la séquence actuelle d’éléments.

Voir aussi

S’applique à

Append(String, SubsetMatchingMode)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Ajoute un élément pour un sous-ensemble d'une expression à la séquence en cours d'éléments de syntaxe.

public:
 void Append(System::String ^ phrase, System::Speech::Recognition::SubsetMatchingMode subsetMatchingCriteria);
public void Append (string phrase, System.Speech.Recognition.SubsetMatchingMode subsetMatchingCriteria);
member this.Append : string * System.Speech.Recognition.SubsetMatchingMode -> unit
Public Sub Append (phrase As String, subsetMatchingCriteria As SubsetMatchingMode)

Paramètres

phrase
String

Séquence de mots à ajouter.

subsetMatchingCriteria
SubsetMatchingMode

Mode correspondant utilisé par la grammaire pour identifier l'expression.

Exemples

L’exemple suivant crée une grammaire de reconnaissance vocale pour chaque SubsetMatchingMode valeur. Par exemple, la grammaire OrderedSubset générée reconnaît les expressions « trois quatre cinq » et « un trois cinq », et la grammaire Subsequence reconnaît l’expression « trois quatre cinq », mais pas l’expression « un trois cinq ».

private Grammar[] CreateSubsetMatchTest()
{
  List<Grammar> grammars = new List<Grammar>(4);

  string phrase = "one two three four five six";
  foreach (SubsetMatchingMode mode in
    Enum.GetValues(typeof(SubsetMatchingMode)))
  {
    GrammarBuilder gb = new GrammarBuilder();
    gb.Append(phrase, mode);

    Grammar grammar = new Grammar(gb);
    grammar.Name = mode.ToString();
    grammars.Add(grammar);
  }

  return grammars.ToArray();
}

Remarques

L’élément de sous-ensemble est ajouté à la fin de la séquence actuelle d’éléments. Pour plus d’informations sur la création d’une grammaire de reconnaissance vocale à l’aide de chaînes, consultez Utilisation de chaînes pour créer une grammaire GrammarBuilder.

Pour plus d’informations sur l’utilisation des modes de correspondance de sous-ensembles, consultez System.Speech.Recognition.SubsetMatchingMode.

Voir aussi

S’applique à

Append(SemanticResultKey)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Ajoute une clé sémantique à la séquence en cours d'éléments de syntaxe.

public:
 void Append(System::Speech::Recognition::SemanticResultKey ^ key);
public void Append (System.Speech.Recognition.SemanticResultKey key);
member this.Append : System.Speech.Recognition.SemanticResultKey -> unit
Public Sub Append (key As SemanticResultKey)

Paramètres

key
SemanticResultKey

Clé sémantique à ajouter.

Exemples

L’exemple suivant fait partie d’une application console permettant de choisir les villes d’origine et de destination d’un vol. L’application reconnaît des expressions telles que « Je veux voler de Miami à Chicago ». Le gestionnaire de l’événement SpeechRecognized utilise pour SemanticResultKey extraire le code d’aéroport spécifié dans pour SemanticResultValue les villes d’origine et de destination.

using System;
using System.Speech.Recognition;

namespace SampleRecognition
{
  class Program
  {
    static void Main(string[] args)

    // Initialize an in-process speech recognition engine.
    {
      using (SpeechRecognitionEngine recognizer =
         new SpeechRecognitionEngine())
      {

        // Create a Choices object and add  cities and airport codes
        // using SemanticResultValue objects.
        Choices cities = new Choices();
        cities.Add(new SemanticResultValue("Chicago", "ORD"));
        cities.Add(new SemanticResultValue("Boston", "BOS"));
        cities.Add(new SemanticResultValue("Miami", "MIA"));
        cities.Add(new SemanticResultValue("Dallas", "DFW"));

        // Build the phrase and add SemanticResultKeys.
        GrammarBuilder chooseCities = new GrammarBuilder();
        chooseCities.Append("I want to fly from");
        chooseCities.Append(new SemanticResultKey("origin", cities));
        chooseCities.Append("to");
        chooseCities.Append(new SemanticResultKey("destination", cities));

        // Build a Grammar object from the GrammarBuilder.
        Grammar bookFlight = new Grammar(chooseCities);
        bookFlight.Name = "Book Flight";

        // Add a handler for the LoadGrammarCompleted event.
        recognizer.LoadGrammarCompleted +=
          new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);

        // Add a handler for the SpeechRecognized event.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Configure the input to the recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Load the grammar object and start recognition.
        recognizer.LoadGrammarAsync(bookFlight);
        recognizer.RecognizeAsync();

        // Keep the console window open.
        Console.ReadLine();
      }
    }

    // Handle the LoadGrammarCompleted event.
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
    {
      Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
      Console.WriteLine();
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Speech recognized:  " + e.Result.Text);
      Console.WriteLine();
      Console.WriteLine("Semantic results:");
      Console.WriteLine("  The flight origin is " + e.Result.Semantics["origin"].Value);
      Console.WriteLine("  The flight destination is " + e.Result.Semantics["destination"].Value);
    }
  }
}

Remarques

key est ajouté à la fin de la séquence actuelle d’éléments.

Important

Lorsque vous ajoutez ou SemanticResultKey des SemanticResultValue instances à un GrammarBuilder objet, veillez à éviter de créer des éléments sémantiques en double avec le même nom de clé ou plusieurs éléments sémantiques susceptibles de modifier à plusieurs reprises la Value propriété d’un SemanticValue objet. Le module de reconnaissance vocale peut lever une exception s’il rencontre ces circonstances.

Voir aussi

S’applique à

Append(SemanticResultValue)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Ajoute une valeur sémantique à la séquence en cours d'éléments de syntaxe.

public:
 void Append(System::Speech::Recognition::SemanticResultValue ^ value);
public void Append (System.Speech.Recognition.SemanticResultValue value);
member this.Append : System.Speech.Recognition.SemanticResultValue -> unit
Public Sub Append (value As SemanticResultValue)

Paramètres

value
SemanticResultValue

Valeur sémantique à ajouter.

Exemples

L’exemple suivant fait partie d’une application console permettant de choisir les villes d’origine et de destination d’un vol. L’application reconnaît des expressions telles que « Je veux voler de Miami à Chicago ». Le gestionnaire de l’événement SpeechRecognized utilise pour SemanticResultKey extraire le code d’aéroport spécifié dans pour SemanticResultValue les villes d’origine et de destination.

using System;
using System.Speech.Recognition;

namespace SampleRecognition
{
  class Program
  {
    static void Main(string[] args)

    // Initialize an in-process speech recognition engine.
    {
      using (SpeechRecognitionEngine recognizer =
         new SpeechRecognitionEngine())
      {

        // Create GrammarBuilder objects and append SemanticResultValue objects
        // that contain cities and airport codes.

        GrammarBuilder chicago = new GrammarBuilder();
        chicago.Append(new SemanticResultValue("Chicago", "ORD"));

        GrammarBuilder boston = new GrammarBuilder();
        boston.Append(new SemanticResultValue("Boston", "BOS"));

        GrammarBuilder miami = new GrammarBuilder();
        miami.Append(new SemanticResultValue("Miami", "MIA"));

        GrammarBuilder dallas = new GrammarBuilder();
        dallas.Append(new SemanticResultValue("Dallas", "DFW"));

        // Create a Choices object and add the cities using implicit conversion from
        // SemanticResultValue to GrammarBuilder.
        Choices cities = new Choices();
        cities.Add(new Choices(new GrammarBuilder[] { chicago, boston, miami, dallas }));

        // Build the phrase and add SemanticResultKeys.
        GrammarBuilder chooseCities = new GrammarBuilder();
        chooseCities.Append("I want to fly from");
        chooseCities.Append(new SemanticResultKey("origin", cities));
        chooseCities.Append("to");
        chooseCities.Append(new SemanticResultKey("destination", cities));

        // Build a Grammar object from the GrammarBuilder.
        Grammar bookFlight = new Grammar(chooseCities);
        bookFlight.Name = "Book Flight";

        // Add a handler for the LoadGrammarCompleted event.
        recognizer.LoadGrammarCompleted +=
          new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);

        // Add a handler for the SpeechRecognized event.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Configure the input to the recognizer.
        recognizer.SetInputToDefaultAudioDevice();

        // Load the grammar object and start recognition.
        recognizer.LoadGrammarAsync(bookFlight);
        recognizer.RecognizeAsync();

        // Keep the console window open.
        Console.ReadLine();
      }
    }
    // Handle the LoadGrammarCompleted event.
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
    {
      Console.WriteLine("Grammar loaded: " + e.Grammar.Name);
      Console.WriteLine();
    }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Speech recognized:  " + e.Result.Text);
      Console.WriteLine();
      Console.WriteLine("Semantic results:");
      Console.WriteLine("  The flight origin is " + e.Result.Semantics["origin"].Value);
      Console.WriteLine("  The flight destination is " + e.Result.Semantics["destination"].Value);
    }
  }
}

Remarques

value est ajouté à la fin de la séquence actuelle d’éléments.

Important

Lorsque vous ajoutez ou SemanticResultKey des SemanticResultValue instances à un GrammarBuilder objet, veillez à éviter de créer des éléments sémantiques en double avec le même nom de clé ou plusieurs éléments sémantiques susceptibles de modifier à plusieurs reprises la Value propriété d’un SemanticValue objet. Le module de reconnaissance vocale peut lever une exception s’il rencontre ces circonstances.

Voir aussi

S’applique à

Append(GrammarBuilder)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Ajoute un élément de syntaxe à la séquence en cours d'éléments de syntaxe.

public:
 void Append(System::Speech::Recognition::GrammarBuilder ^ builder);
public void Append (System.Speech.Recognition.GrammarBuilder builder);
member this.Append : System.Speech.Recognition.GrammarBuilder -> unit
Public Sub Append (builder As GrammarBuilder)

Paramètres

builder
GrammarBuilder

Élément de grammaire à ajouter.

Exemples

L’exemple suivant crée une grammaire de reconnaissance vocale pour des expressions telles que « Appeler James au travail » et « Appeler Anne sur son téléphone portable », où le mot « téléphone » est facultatif. GrammarBuilder les objets et Choices sont utilisés pour construire la grammaire. L’exemple met en évidence l’utilisation de la Append méthode .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Remarques

builder est ajouté à la fin de la séquence actuelle d’éléments de grammaire.

Notes

Lorsque vous ajoutez GrammarBuilder des objets qui contiennent SemanticResultValue ou SemanticResultKey des instances à un GrammarBuilder objet, veillez à éviter de créer des éléments sémantiques en double avec le même nom de clé ou plusieurs éléments sémantiques susceptibles de modifier à plusieurs reprises la Value propriété d’un SemanticValue objet. Le module de reconnaissance vocale peut lever une exception s’il rencontre ces circonstances.

Voir aussi

S’applique à

Append(Choices)

Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs
Source:
GrammarBuilder.cs

Ajoute un ensemble d'alternatives à la séquence en cours d'éléments de syntaxe.

public:
 void Append(System::Speech::Recognition::Choices ^ alternateChoices);
public void Append (System.Speech.Recognition.Choices alternateChoices);
member this.Append : System.Speech.Recognition.Choices -> unit
Public Sub Append (alternateChoices As Choices)

Paramètres

alternateChoices
Choices

Ensemble des alternatives à ajouter.

Exemples

L’exemple suivant crée une grammaire de reconnaissance vocale pour des expressions telles que « Appeler James au travail » et « Appeler Anne sur son téléphone portable », où le mot « téléphone » est facultatif. L’exemple met en évidence l’utilisation de la Append méthode .

public static Grammar CreatePhonePhrase()
{
  // Create alternatives for person names, locations, devices, and pronouns.
  Choices personChoice = new Choices(new string[] {"Anne", "James", "Mary", "Sam"});
  Choices locationChoice = new Choices(new string[] {"home", "work"});
  Choices deviceChoice = new Choices(new string[] {"home", "work", "cell"});
  Choices pronounChoice = new Choices(new string[] {"his", "her"});

  // Create a phrase for the receiving device, which optionally contains the word "phone".
  GrammarBuilder devicePhrase = new GrammarBuilder(pronounChoice);
  devicePhrase.Append(deviceChoice);
  devicePhrase.Append("phone", 0, 1);

  // Create alternatives for phrases specifying a device or a location.
  GrammarBuilder atLocation = new GrammarBuilder("at");
  atLocation.Append(locationChoice);

  GrammarBuilder onDevice = new GrammarBuilder("on");
  onDevice.Append(devicePhrase);

  Choices howChoice = new Choices(new GrammarBuilder[] {atLocation, onDevice});

  // Build the final phrase.
  GrammarBuilder callWho = new GrammarBuilder("Call");
  callWho.Append(personChoice);
  callWho.Append(howChoice);

  // Create the Grammar object.
  Grammar callGrammar = new Grammar(callWho);
  callGrammar.Name = "Call Grammar";

  return callGrammar;
}

Remarques

alternateChoices est ajouté à la fin de la séquence actuelle d’éléments.

Important

Lorsque vous ajoutez Choices des objets qui contiennent SemanticResultValue ou SemanticResultKey des instances à un GrammarBuilder objet, veillez à éviter de créer des éléments sémantiques en double avec le même nom de clé ou plusieurs éléments sémantiques susceptibles de modifier à plusieurs reprises la Value propriété d’un SemanticValue objet. Le module de reconnaissance vocale peut lever une exception s’il rencontre ces circonstances.

S’applique à