GrammarBuilder.Append Método

Definição

Acrescenta um elemento gramatical à sequência atual de elementos gramaticais.

Sobrecargas

Nome Description
Append(String, Int32, Int32)

Acrescenta uma frase repetida à sequência atual de elementos gramaticais.

Append(GrammarBuilder, Int32, Int32)

Acrescenta um elemento gramatical repetido à sequência atual de elementos gramaticais.

Append(String)

Acrescenta uma frase à sequência atual de elementos gramaticais.

Append(String, SubsetMatchingMode)

Acrescenta um elemento para um subconjunto de uma frase à sequência atual de elementos gramaticais.

Append(SemanticResultKey)

Acrescenta uma chave semântica à sequência atual de elementos gramaticais.

Append(SemanticResultValue)

Acrescenta um valor semântico à sequência atual de elementos gramaticais.

Append(GrammarBuilder)

Acrescenta um elemento gramatical à sequência atual de elementos gramaticais.

Append(Choices)

Acrescenta um conjunto de alternativas à sequência atual de elementos gramaticais.

Comentários

Use esses métodos para acrescentar elementos gramaticais a um existente GrammarBuilder. Ao criar elementos gramaticais, você pode anexá-los ao construtor existente para desenvolver progressivamente as restrições para uma gramática de reconhecimento de fala. Cada elemento é adicionado ao final da sequência atual de elementos.

Esse método tem sobrecargas para acrescentarGrammarBuilder, String, Choicese SemanticResultKeySemanticResultValue objetos.

Importante

O reconhecedor de fala pode gerar uma exceção ao usar uma gramática de reconhecimento de fala que contém elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que poderiam modificar repetidamente o valor do mesmo elemento semântico.

Append(String, Int32, Int32)

Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs

Acrescenta uma frase repetida à sequência atual de elementos gramaticais.

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)

Parâmetros

phrase
String

A sequência repetida de palavras a acrescentar.

minRepeat
Int32

O número mínimo de vezes que a correspondência phrase de entrada deve ocorrer para constituir uma correspondência.

maxRepeat
Int32

O número máximo de vezes que a correspondência phrase de entrada pode ocorrer para constituir uma correspondência.

Exemplos

O exemplo a seguir cria uma gramática de reconhecimento de fala para frases como "Chamar James no trabalho" e "Chamar Anne em seu celular", em que a palavra "telefone" é opcional. GrammarBuilder e Choices objetos são usados para construir a gramática. O exemplo realça o uso do Append método.

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

Comentários

O valor de minRepeat deve ser maior ou igual a 0 e menor ou igual ao valor de maxRepeat.

Confira também

Aplica-se a

Append(GrammarBuilder, Int32, Int32)

Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs

Acrescenta um elemento gramatical repetido à sequência atual de elementos gramaticais.

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)

Parâmetros

builder
GrammarBuilder

O elemento gramatical repetido a ser acrescentado.

minRepeat
Int32

O número mínimo de vezes que a entrada que corresponde ao elemento definido deve builder ocorrer para constituir uma correspondência.

maxRepeat
Int32

O número máximo de vezes que a entrada que corresponde ao elemento definido por builder pode ocorrer para constituir uma correspondência.

Exemplos

O exemplo a seguir cria uma gramática de reconhecimento de fala para frases como "Chamar James no trabalho" e "Chamar Anne em seu celular", em que a palavra "telefone" é opcional. GrammarBuilder e Choices objetos são usados para construir a gramática. O exemplo realça o uso do Append método.

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

Comentários

O valor de minRepeat deve ser maior ou igual a 0 e menor ou igual ao valor de maxRepeat.

Importante

Ao acrescentar GrammarBuilder objetos que contêm SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, evite criar elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que podem modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode gerar uma exceção se encontrar essas circunstâncias.

Confira também

Aplica-se a

Append(String)

Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs

Acrescenta uma frase à sequência atual de elementos gramaticais.

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

Parâmetros

phrase
String

A sequência de palavras a acrescentar.

Comentários

phrase é adicionado ao final da sequência atual de elementos.

Confira também

Aplica-se a

Append(String, SubsetMatchingMode)

Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs

Acrescenta um elemento para um subconjunto de uma frase à sequência atual de elementos gramaticais.

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)

Parâmetros

phrase
String

A sequência de palavras a acrescentar.

subsetMatchingCriteria
SubsetMatchingMode

O modo de correspondência que a gramática usa para reconhecer a frase.

Exemplos

O exemplo a seguir cria uma gramática de reconhecimento de fala para cada SubsetMatchingMode valor. Por exemplo, a gramática OrderedSubset gerada reconhece as frases "três quatro cinco" e "um três cinco", e a gramática Subsequence reconhece a frase "três quatro e cinco", mas não a frase "um três cinco".

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

Comentários

O elemento de subconjunto é adicionado ao final da sequência atual de elementos.

Para obter informações detalhadas sobre o uso de modos de correspondência de subconjunto, consulte System.Speech.Recognition.SubsetMatchingMode.

Confira também

Aplica-se a

Append(SemanticResultKey)

Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs

Acrescenta uma chave semântica à sequência atual de elementos gramaticais.

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)

Parâmetros

key
SemanticResultKey

A chave semântica a ser acrescentada.

Exemplos

O exemplo a seguir faz parte de um aplicativo de console para escolher cidades de origem e destino para um voo. O aplicativo reconhece frases como "Quero voar de Miami para Chicago." O manipulador do SpeechRecognized evento usa o SemanticResultKey código do aeroporto especificado nas cidades de origem SemanticResultValue e destino.

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

Comentários

key é adicionado ao final da sequência atual de elementos.

Importante

Ao acrescentar SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, evite criar elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que podem modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode gerar uma exceção se encontrar essas circunstâncias.

Confira também

Aplica-se a

Append(SemanticResultValue)

Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs

Acrescenta um valor semântico à sequência atual de elementos gramaticais.

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)

Parâmetros

value
SemanticResultValue

O valor semântico a ser acrescentado.

Exemplos

O exemplo a seguir faz parte de um aplicativo de console para escolher cidades de origem e destino para um voo. O aplicativo reconhece frases como "Quero voar de Miami para Chicago." O manipulador do SpeechRecognized evento usa o SemanticResultKey código do aeroporto especificado nas cidades de origem SemanticResultValue e destino.

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

Comentários

value é adicionado ao final da sequência atual de elementos.

Importante

Ao acrescentar SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, evite criar elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que podem modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode gerar uma exceção se encontrar essas circunstâncias.

Confira também

Aplica-se a

Append(GrammarBuilder)

Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs

Acrescenta um elemento gramatical à sequência atual de elementos gramaticais.

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)

Parâmetros

builder
GrammarBuilder

O elemento gramatical a ser acrescentado.

Exemplos

O exemplo a seguir cria uma gramática de reconhecimento de fala para frases como "Chamar James no trabalho" e "Chamar Anne em seu celular", em que a palavra "telefone" é opcional. GrammarBuilder e Choices objetos são usados para construir a gramática. O exemplo realça o uso do Append método.

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

Comentários

builder é adicionado ao final da sequência atual de elementos gramaticais.

Observação

Ao acrescentar GrammarBuilder objetos que contêm SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, evite criar elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que podem modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode gerar uma exceção se encontrar essas circunstâncias.

Confira também

Aplica-se a

Append(Choices)

Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs
Origem:
GrammarBuilder.cs

Acrescenta um conjunto de alternativas à sequência atual de elementos gramaticais.

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)

Parâmetros

alternateChoices
Choices

O conjunto de alternativas a serem acrescentadas.

Exemplos

O exemplo a seguir cria uma gramática de reconhecimento de fala para frases como "Chamar James no trabalho" e "Chamar Anne em seu celular", em que a palavra "telefone" é opcional. O exemplo realça o uso do Append método.

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

Comentários

alternateChoices é adicionado ao final da sequência atual de elementos.

Importante

Ao acrescentar Choices objetos que contêm SemanticResultValue ou SemanticResultKey instâncias a um GrammarBuilder objeto, evite criar elementos semânticos duplicados com o mesmo nome de chave ou vários elementos semânticos que podem modificar repetidamente a Value propriedade de um SemanticValue objeto. O reconhecedor de fala pode gerar uma exceção se encontrar essas circunstâncias.

Aplica-se a