Share via


Grammar Construtores

Definição

Inicializa uma nova instância da classe Grammar.

Sobrecargas

Grammar()

Inicializa uma nova instância da classe Grammar.

Grammar(SrgsDocument, String, Uri, Object[])

Inicializa uma nova instância da classe Grammar de uma instância de SrgsDocumente especifica o nome de uma regra para ser o ponto de entrada para a gramática e um URI base para resolver referências relativas.

Grammar(Stream, String, Uri, Object[])

Inicializa uma nova instância da classe Grammar de um Stream e especifica uma regra raiz e um URI de base para resolver as referências relativas.

Grammar(SrgsDocument, String, Uri)

Inicializa uma nova instância da Grammar classe de um SrgsDocument objeto , especifica uma regra raiz e define um URI (Uniform Resource Identifier) base para resolver referências de regra relativas.

Grammar(SrgsDocument, String, Object[])

Inicializa uma nova instância da classe Grammar de uma instância de SrgsDocumente especifica o nome de uma regra para ser o ponto de entrada para a gramática.

Grammar(Stream, String, Uri)

Inicializa uma nova instância da classe Grammar de um fluxo, especifica uma regra raiz e define um URI (Uniform Resource Identifier) base para resolver referências de regra relativas.

Grammar(Stream, String, Object[])

Inicializa uma nova instância da classe Grammar de um Stream e especifica a regra raiz.

Grammar(String, String, Object[])

Inicializa uma nova instância da classe Grammar de um arquivo que contém uma definição de gramática e especifica o nome de uma regra para ser o ponto de entrada para a gramática.

Grammar(SrgsDocument, String)

Inicializa uma nova instância da Grammar classe de um SrgsDocument objeto e especifica uma regra raiz.

Grammar(Stream, String)

Inicializa uma nova instância da classe Grammar de um Stream e especifica a regra raiz.

Grammar(String)

Inicializa uma nova instância da classe Grammar de um arquivo.

Grammar(SrgsDocument)

Inicializa uma nova instância da classe Grammar de um objeto SrgsDocument.

Grammar(String, String)

Inicializa uma nova instância da classe Grammar de um arquivo e especifica a regra raiz.

Grammar(GrammarBuilder)

Inicializa uma nova instância da classe Grammar de um objeto GrammarBuilder.

Grammar(Stream)

Inicializa uma nova instância da classe Grammar de um Stream.

Comentários

Você pode usar um Grammar construtor para criar uma Grammar instância de um GrammarBuilder objeto ou SrgsDocument ou de um arquivo ou um Stream que contém uma descrição de uma gramática em um formato com suporte. Os formatos com suporte incluem o seguinte:

Os construtores gramaticais que aceitam arquivos gramaticais no formato XML em seus argumentos compilam as gramáticas XML em um formato binário para otimizá-los para carregamento e consumo por um mecanismo de reconhecimento de fala. Você pode reduzir a quantidade de tempo necessária para construir um Grammar objeto de uma gramática de formato XML compilando a gramática com antecedência, usando um dos Compile métodos.

Uma gramática de reconhecimento de fala pode definir uma regra raiz. Para criar um Grammar objeto que especifica qual regra usar como regra raiz, use um construtor que aceite o ruleName parâmetro .

Para criar um Grammar objeto que especifica um URI base para resolver referências de regra relativas, use um construtor que usa o baseUri parâmetro .

Grammar()

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar.

protected:
 Grammar();
protected Grammar ();
Protected Sub New ()

Aplica-se a

Grammar(SrgsDocument, String, Uri, Object[])

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de uma instância de SrgsDocumente especifica o nome de uma regra para ser o ponto de entrada para a gramática e um URI base para resolver referências relativas.

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ srgsDocument, System::String ^ ruleName, Uri ^ baseUri, cli::array <System::Object ^> ^ parameters);
public Grammar (System.Speech.Recognition.SrgsGrammar.SrgsDocument srgsDocument, string ruleName, Uri baseUri, object[] parameters);
new System.Speech.Recognition.Grammar : System.Speech.Recognition.SrgsGrammar.SrgsDocument * string * Uri * obj[] -> System.Speech.Recognition.Grammar
Public Sub New (srgsDocument As SrgsDocument, ruleName As String, baseUri As Uri, parameters As Object())

Parâmetros

srgsDocument
SrgsDocument

Uma instância de SrgsDocument que contém as restrições da gramática de reconhecimento de fala.

ruleName
String

O identificador da regra a ser usada como o ponto de entrada da gramática de reconhecimento de fala, ou null para usar a regra raiz padrão da descrição da gramática.

baseUri
Uri

O URI base a ser usado para resolver qualquer referência relativa de regra na descrição de gramática, ou então null.

parameters
Object[]

Parâmetros a serem passados para o manipulador de inicialização especificado pela propriedade OnInit para o ponto de entrada ou a regra raiz da Grammar a ser criada. Esse parâmetro pode ser nulo.

Exceções

  • Algum dos parâmetros contém um valor inválido.

  • O SrgsDocument especificado por srgsDocument não contém a regra especificada em ruleName.

  • O conteúdo dos parâmetros de matriz não corresponde aos argumentos de algum dos manipuladores de inicialização da regra.

  • A gramática tem uma referência de regra relativa que não pode ser resolvida pela regra base Uri padrão para gramáticas ou o URI fornecido por baseUri.

Comentários

Parâmetros para um manipulador de inicialização também podem ser especificados.

Aplica-se a

Grammar(Stream, String, Uri, Object[])

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de um Stream e especifica uma regra raiz e um URI de base para resolver as referências relativas.

public:
 Grammar(System::IO::Stream ^ stream, System::String ^ ruleName, Uri ^ baseUri, cli::array <System::Object ^> ^ parameters);
public Grammar (System.IO.Stream stream, string ruleName, Uri baseUri, object[] parameters);
new System.Speech.Recognition.Grammar : System.IO.Stream * string * Uri * obj[] -> System.Speech.Recognition.Grammar
Public Sub New (stream As Stream, ruleName As String, baseUri As Uri, parameters As Object())

Parâmetros

stream
Stream

Um Stream conectado a um objeto de entrada/saída (incluindo arquivos de recursos do Visual Studio e DLLs) que contém uma especificação de gramática.

ruleName
String

O identificador da regra a ser usada como o ponto de entrada da gramática de reconhecimento de fala, ou null para usar a regra raiz padrão da descrição da gramática.

baseUri
Uri

O URI base a ser usado para resolver qualquer referência relativa de regra na descrição de gramática, ou então null.

parameters
Object[]

Parâmetros a serem passados para o manipulador de inicialização especificado pela propriedade OnInit para o ponto de entrada ou a regra raiz da Grammar a ser criada. Esse parâmetro pode ser nulo.

Exceções

  • Algum dos parâmetros contém um valor inválido.

  • O stream está conectado a uma gramática que não contém a regra especificada por ruleName.

  • O conteúdo dos parâmetros de matriz não corresponde aos argumentos de algum dos manipuladores de inicialização da regra.

  • A gramática contém uma referência de regra relativa que não pode ser resolvida pela regra base Uri padrão para gramáticas ou o URI fornecido por baseUri.

Comentários

Parâmetros para um manipulador de inicialização também podem ser especificados.

Aplica-se a

Grammar(SrgsDocument, String, Uri)

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da Grammar classe de um SrgsDocument objeto , especifica uma regra raiz e define um URI (Uniform Resource Identifier) base para resolver referências de regra relativas.

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ srgsDocument, System::String ^ ruleName, Uri ^ baseUri);
public Grammar (System.Speech.Recognition.SrgsGrammar.SrgsDocument srgsDocument, string ruleName, Uri baseUri);
new System.Speech.Recognition.Grammar : System.Speech.Recognition.SrgsGrammar.SrgsDocument * string * Uri -> System.Speech.Recognition.Grammar
Public Sub New (srgsDocument As SrgsDocument, ruleName As String, baseUri As Uri)

Parâmetros

srgsDocument
SrgsDocument

As restrições da gramática de reconhecimento de fala.

ruleName
String

O identificador da regra a ser usado como o ponto de entrada da gramática de reconhecimento de fala, ou então null para usar a regra de raiz padrão do SrgsDocument.

baseUri
Uri

O URI base a ser usado para resolver qualquer referência relativa de regra no SrgsDocument, ou então null.

Exceções

ruleName não pode ser resolvido ou não é público, ou então ruleName é null e srgsDocument não contém uma regra raiz.

srgsDocument é null.

srgsDocument contém uma referência de regra que não pode ser resolvida.

Exemplos

O exemplo a seguir cria uma gramática de reconhecimento de fala em um SrgsDocument que contém uma referência de regra relativa ao arquivo cities.xml e especifica um URI a ser usado para resolver a referência de regra. O conteúdo do arquivo cities.xml aparece no exemplo XML que segue o exemplo de C#.

private static Grammar CreateSrgsDocumentGrammar3()  
{  
  // Create the SrgsDocument.  
  SrgsDocument document = new SrgsDocument();  

  // Create the Main rule and add it to the document.  
  SrgsRule mainRule = new SrgsRule("Main");  
  mainRule.Scope = SrgsRuleScope.Public;  

  SrgsItem item = new SrgsItem("Can I get a shuttle in");  

  // Create a relative URI for the cities rule.  
  Uri ruleUri = new Uri("cities.xml#Cities", UriKind.Relative);  

  item.Add(new SrgsRuleRef(ruleUri));  

  mainRule.Add(item);  
  document.Rules.Add(mainRule);  

  // Set the root rule.  
  document.Root = mainRule;  

  // Create the grammar.  
  Uri baseUri = new Uri(@"file://c:\temp\");  
  Grammar citiesGrammar = new Grammar(document, null, baseUri);  
  citiesGrammar.Name = "SrgsDocument Cities Grammar 3";  

  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

Comentários

Esse construtor não passa parâmetros para o manipulador de inicialização e o SrgsDocument não deve conter um manipulador de inicialização que exija argumentos.

Esse construtor não valida baseUri. No entanto, o LoadGrammar método de um SpeechRecognitionEngine objeto ou SpeechRecognizer gera uma exceção se ele não puder resolver todas as referências de regra na descrição gramatical. Se baseUri não nullfor , o LoadGrammar método usará o URI para resolver quaisquer referências de regra que ele não possa resolver de outra forma. Se baseUri representar um arquivo, o LoadGrammar método usará o arquivo designado e o diretório do arquivo quando tentar resolver referências de regra relativas.

Confira também

Aplica-se a

Grammar(SrgsDocument, String, Object[])

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de uma instância de SrgsDocumente especifica o nome de uma regra para ser o ponto de entrada para a gramática.

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ srgsDocument, System::String ^ ruleName, cli::array <System::Object ^> ^ parameters);
public Grammar (System.Speech.Recognition.SrgsGrammar.SrgsDocument srgsDocument, string ruleName, object[] parameters);
new System.Speech.Recognition.Grammar : System.Speech.Recognition.SrgsGrammar.SrgsDocument * string * obj[] -> System.Speech.Recognition.Grammar
Public Sub New (srgsDocument As SrgsDocument, ruleName As String, parameters As Object())

Parâmetros

srgsDocument
SrgsDocument

Uma instância de SrgsDocument que contém as restrições da gramática de reconhecimento de fala.

ruleName
String

O identificador da regra a ser usada como o ponto de entrada da gramática de reconhecimento de fala, ou null para usar a regra raiz padrão da descrição da gramática.

parameters
Object[]

Parâmetros a serem passados para o manipulador de inicialização especificado pela propriedade OnInit para o ponto de entrada ou a regra raiz da Grammar a ser criada. Esse parâmetro pode ser nulo.

Exceções

  • Algum dos parâmetros contém um valor inválido.

  • O SrgsDocument especificado por srgsDocument não contém a regra especificada por ruleName.

  • O conteúdo dos parâmetros de matriz não corresponde aos argumentos de algum dos manipuladores de inicialização da regra.

Comentários

Parâmetros para um manipulador de inicialização também podem ser especificados.

Aplica-se a

Grammar(Stream, String, Uri)

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de um fluxo, especifica uma regra raiz e define um URI (Uniform Resource Identifier) base para resolver referências de regra relativas.

public:
 Grammar(System::IO::Stream ^ stream, System::String ^ ruleName, Uri ^ baseUri);
public Grammar (System.IO.Stream stream, string ruleName, Uri baseUri);
new System.Speech.Recognition.Grammar : System.IO.Stream * string * Uri -> System.Speech.Recognition.Grammar
Public Sub New (stream As Stream, ruleName As String, baseUri As Uri)

Parâmetros

stream
Stream

Um fluxo que descreve uma gramática de reconhecimento de fala em um formato compatível.

ruleName
String

O identificador da regra a ser usada como o ponto de entrada da gramática de reconhecimento de fala, ou null para usar a regra raiz padrão da descrição da gramática.

baseUri
Uri

O URI base a ser usado para resolver qualquer referência relativa de regra na descrição de gramática, ou então null.

Exceções

ruleName não pode ser resolvido ou não é público, ou ruleName é null e a descrição de gramática não define uma regra raiz.

stream é null.

O fluxo não contém uma descrição válida ou descreve uma gramática que contém uma referência de regra que não pode ser resolvida.

Exemplos

O exemplo a seguir carrega um arquivo SRGS local (shuttle.xml) de um fluxo de arquivos. O arquivo contém uma referência de regra relativa a uma regra no arquivo cities.xml e especifica um URI base a ser usado para resolver a referência de regra. O conteúdo dos arquivos shuttle.xml e cities.xml aparece nos exemplos XML que seguem o exemplo de C#.

private static Grammar CreateGrammarFromStream3()  
{  
  FileInfo file = new FileInfo(@".\shuttle.xml");  
  Uri baseUri = new Uri(@"file://c:\temp\");  
  Grammar citiesGrammar = new Grammar(file.OpenRead(), null, baseUri);  
  citiesGrammar.Name = "Stream Cities Grammar 3";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- shuttle.xml:   
    Defines an SRGS grammar for asking about a shuttle service. This grammar  
    references a Cities rule that is defined in the cities.xml grammar. -->  

  <rule id="Main">  
    <item>  
      Can I get a shuttle in  
      <ruleref uri="cities.xml#Cities"/>  
    </item>  
  </rule>  
</grammar>  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

Comentários

Esse construtor não passa parâmetros para o manipulador de inicialização e a descrição não deve definir um manipulador de inicialização que exija argumentos.

Esse construtor pode criar uma Grammar instância dos seguintes formatos:

Esse construtor compila arquivos de gramática no formato XML em um formato binário para otimizá-los para carregamento e consumo por um mecanismo de reconhecimento de fala. Você pode reduzir o tempo necessário para construir um objeto de uma Grammar gramática de formato XML compilando a gramática com antecedência, usando um dos Compile métodos .

Esse construtor não valida baseUri. No entanto, o LoadGrammar método de um SpeechRecognitionEngine objeto ou SpeechRecognizer gera uma exceção se ele não puder resolver todas as referências de regra na descrição gramatical. Se baseUri não nullfor , o LoadGrammar método usará o URI para resolver quaisquer referências de regra que ele não possa resolver de outra forma. Se baseUri representar um arquivo, o LoadGrammar usará o arquivo designado e o diretório do arquivo quando tentar resolver referências de regra relativas.

Confira também

Aplica-se a

Grammar(Stream, String, Object[])

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de um Stream e especifica a regra raiz.

public:
 Grammar(System::IO::Stream ^ stream, System::String ^ ruleName, cli::array <System::Object ^> ^ parameters);
public Grammar (System.IO.Stream stream, string ruleName, object[] parameters);
new System.Speech.Recognition.Grammar : System.IO.Stream * string * obj[] -> System.Speech.Recognition.Grammar
Public Sub New (stream As Stream, ruleName As String, parameters As Object())

Parâmetros

stream
Stream

Um Stream conectado a um objeto de entrada/saída (incluindo arquivos de recursos do Visual Studio e DLLs) que contém uma especificação de gramática.

ruleName
String

O identificador da regra a ser usada como o ponto de entrada da gramática de reconhecimento de fala, ou null para usar a regra raiz padrão da descrição da gramática.

parameters
Object[]

Parâmetros a serem passados para o manipulador de inicialização especificado pela propriedade OnInit para o ponto de entrada ou a regra raiz da Grammar a ser criada. Esse parâmetro pode ser nulo.

Exceções

stream está conectado a uma gramática que:

  • Não contém a regra especificada no ruleName

  • Requer parâmetros de inicialização diferentes dos especificados em parameters

  • Contém uma referência de regra relativa que não pode ser resolvida pela regra base Uri padrão para gramáticas.

Comentários

Parâmetros para um manipulador de inicialização também podem ser especificados.

Aplica-se a

Grammar(String, String, Object[])

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de um arquivo que contém uma definição de gramática e especifica o nome de uma regra para ser o ponto de entrada para a gramática.

public:
 Grammar(System::String ^ path, System::String ^ ruleName, cli::array <System::Object ^> ^ parameters);
public Grammar (string path, string ruleName, object[] parameters);
new System.Speech.Recognition.Grammar : string * string * obj[] -> System.Speech.Recognition.Grammar
Public Sub New (path As String, ruleName As String, parameters As Object())

Parâmetros

path
String

O caminho para um arquivo, incluindo DLLs, que contém uma especificação de gramática.

ruleName
String

O identificador da regra a ser usada como o ponto de entrada da gramática de reconhecimento de fala, ou null para usar a regra raiz padrão da descrição da gramática.

parameters
Object[]

Parâmetros a serem passados para o manipulador de inicialização especificado pela propriedade OnInit para o ponto de entrada ou a regra raiz da Grammar a ser criada. Esse parâmetro pode ser nulo.

Exceções

  • Algum dos parâmetros contém um valor inválido.

  • O arquivo especificado por path não contém uma gramática válida ou a regra especificada em ruleName.

  • O conteúdo dos parâmetros de matriz não corresponde aos argumentos de algum dos manipuladores de inicialização da regra.

  • A gramática tem uma referência de regra relativa que não pode ser resolvida pela regra base Uri padrão para gramáticas.

Comentários

Parâmetros para um manipulador de inicialização também podem ser especificados.

Aplica-se a

Grammar(SrgsDocument, String)

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da Grammar classe de um SrgsDocument objeto e especifica uma regra raiz.

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ srgsDocument, System::String ^ ruleName);
public Grammar (System.Speech.Recognition.SrgsGrammar.SrgsDocument srgsDocument, string ruleName);
new System.Speech.Recognition.Grammar : System.Speech.Recognition.SrgsGrammar.SrgsDocument * string -> System.Speech.Recognition.Grammar
Public Sub New (srgsDocument As SrgsDocument, ruleName As String)

Parâmetros

srgsDocument
SrgsDocument

As restrições da gramática de reconhecimento de fala.

ruleName
String

O identificador da regra a ser usado como o ponto de entrada da gramática de reconhecimento de fala, ou então null para usar a regra de raiz padrão do SrgsDocument.

Exceções

ruleName não pode ser resolvido ou não é público, ou então ruleName é null e srgsDocument não contém uma regra raiz.

srgsDocument é null.

srgsDocument contém uma referência de regra que não pode ser resolvida.

Exemplos

O exemplo a seguir cria uma gramática de reconhecimento de fala em uma SrgsDocument instância e especifica uma regra a ser usada como a regra raiz da gramática. O exemplo constrói um Grammar objeto da instância e o SrgsDocument carrega no mecanismo de reconhecimento de fala.

using System;  
using System.Speech.Recognition;  
using System.Speech.Recognition.SrgsGrammar;  

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

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

        // Create the SrgsDocument.  
        SrgsDocument document = new SrgsDocument();  

        // Create the Cities rule and add it to the document.  
        SrgsRule citiesRule = new SrgsRule("Cities");  
        citiesRule.Scope = SrgsRuleScope.Public;  

        SrgsOneOf cityChoice = new SrgsOneOf();  
        cityChoice.Add(new SrgsItem("Seattle"));  
        cityChoice.Add(new SrgsItem("Los Angeles"));  
        cityChoice.Add(new SrgsItem("New York"));  
        cityChoice.Add(new SrgsItem("Miami"));  

        citiesRule.Add(cityChoice);  
        document.Rules.Add(citiesRule);  

        // Create the Main rule and add it to the document.  
        SrgsRule mainRule = new SrgsRule("Main");  
        mainRule.Scope = SrgsRuleScope.Public;  

        mainRule.Add(new SrgsItem("I would like to fly from"));  
        mainRule.Add(new SrgsRuleRef(citiesRule));  
        mainRule.Add(new SrgsItem("to"));  
        mainRule.Add(new SrgsRuleRef(citiesRule));  

        document.Rules.Add(mainRule);  

        // Create the Grammar object and specify which rule to use as the root.  
        Grammar citiesGrammar = new Grammar(document,"Main");  

        // Load the grammar object to the recognizer.  
        recognizer.LoadGrammarAsync(citiesGrammar);  

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

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

        // Start recognition.  
        recognizer.RecognizeAsync();  
        Console.WriteLine("Starting asynchronous recognition...");  

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

    // Handle the SpeechRecognized event.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("  Speech recognized: " + e.Result.Text);  
    }  
  }  
}  

Comentários

Esse construtor não passa parâmetros para o manipulador de inicialização e o SrgsDocument não deve conter um manipulador de inicialização que exija argumentos.

Para criar um Grammar objeto de um SrgsDocument e especificar um URI base a ser usado para resolver referências de regra relativas, use o Grammar construtor .

Confira também

Aplica-se a

Grammar(Stream, String)

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de um Stream e especifica a regra raiz.

public:
 Grammar(System::IO::Stream ^ stream, System::String ^ ruleName);
public Grammar (System.IO.Stream stream, string ruleName);
new System.Speech.Recognition.Grammar : System.IO.Stream * string -> System.Speech.Recognition.Grammar
Public Sub New (stream As Stream, ruleName As String)

Parâmetros

stream
Stream

Um fluxo que descreve uma gramática de reconhecimento de fala em um formato compatível.

ruleName
String

O identificador da regra a ser usada como o ponto de entrada da gramática de reconhecimento de fala, ou null para usar a regra raiz padrão da descrição da gramática.

Exceções

ruleName não pode ser resolvido ou não é público, ou ruleName é null e a descrição de gramática não define uma regra raiz.

stream é null.

O fluxo não contém uma descrição válida ou descreve uma gramática que contém uma referência de regra que não pode ser resolvida.

Exemplos

O exemplo a seguir carrega um arquivo SRGS local (cities.xml) de um fluxo de arquivos e especifica uma regra a ser usada como a raiz da gramática. O conteúdo do arquivo cities.xml aparece no exemplo XML que segue o exemplo de C#.

// Load a cities grammar from an I/O stream, use a specific  
// rule as the root of the grammar, and return the new grammar.   
private static Grammar CreateGrammarFromStream2()  
{  
  FileInfo file = new FileInfo(@"c:\temp\cities.xml");  
  Grammar citiesGrammar = new Grammar(file.OpenRead(), "Main");  
  citiesGrammar.Name = "Stream Cities Grammar 2";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

Comentários

Esse construtor não passa parâmetros para o manipulador de inicialização e a descrição não deve definir um manipulador de inicialização que exija argumentos.

Esse construtor pode criar uma Grammar instância dos seguintes formatos:

Esse construtor compila arquivos de gramática no formato XML em um formato binário para otimizá-los para carregamento e consumo por um mecanismo de reconhecimento de fala. Você pode reduzir o tempo necessário para construir um objeto de uma Grammar gramática de formato XML compilando a gramática com antecedência, usando um dos Compile métodos .

Para criar um Grammar de um fluxo e especificar um URI base a ser usado para resolver referências de regra relativas, use o Grammar construtor .

Confira também

Aplica-se a

Grammar(String)

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de um arquivo.

public:
 Grammar(System::String ^ path);
public Grammar (string path);
new System.Speech.Recognition.Grammar : string -> System.Speech.Recognition.Grammar
Public Sub New (path As String)

Parâmetros

path
String

O caminho do arquivo que descreve uma gramática de reconhecimento de fala em um formato com suporte.

Exceções

path contém a cadeia de caracteres vazia ("") ou o arquivo descreve uma gramática que não contém uma regra raiz.

path é null.

O arquivo não contém uma descrição válida ou descreve uma gramática que contém uma referência de regra que não pode ser resolvida.

Exemplos

O exemplo a seguir carrega uma gramática de reconhecimento de fala de um arquivo SRGS local para criar um Grammar objeto . O conteúdo do arquivo cities.xml aparece no exemplo XML que segue o exemplo de C#.

// Load a cities grammar from a local file and  
// return the new grammar.   
private static Grammar CreateGrammarFromFile()  
{  
  Grammar citiesGrammar = new Grammar(@"c:\temp\cities.xml");  
  citiesGrammar.Name = "SRGS File Cities Grammar";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

Comentários

Esse construtor não passa parâmetros para o manipulador de inicialização e a descrição não deve definir um manipulador de inicialização que exija argumentos.

Esse construtor pode criar uma Grammar instância dos seguintes formatos:

Esse construtor compila arquivos de gramática no formato XML em um formato binário para otimizá-los para carregamento e consumo por um mecanismo de reconhecimento de fala. Você pode reduzir o tempo necessário para construir um objeto de uma Grammar gramática de formato XML compilando a gramática com antecedência, usando um dos Compile métodos .

Uma gramática SRGS pode definir uma regra raiz. Para criar um Grammar objeto de uma cadeia de caracteres e especificar uma regra raiz, use o Grammar construtor .

Para criar um Grammar objeto que especifica um URI base a ser usado para resolver referências de regra relativas, abra o arquivo em um fluxo de arquivos e use o Grammar.Grammar construtor .

Confira também

Aplica-se a

Grammar(SrgsDocument)

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de um objeto SrgsDocument.

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ srgsDocument);
public Grammar (System.Speech.Recognition.SrgsGrammar.SrgsDocument srgsDocument);
new System.Speech.Recognition.Grammar : System.Speech.Recognition.SrgsGrammar.SrgsDocument -> System.Speech.Recognition.Grammar
Public Sub New (srgsDocument As SrgsDocument)

Parâmetros

srgsDocument
SrgsDocument

As restrições da gramática de reconhecimento de fala.

Exceções

srgsDocument não contém uma regra raiz.

srgsDocument é null.

srgsDocument contém uma referência de regra que não pode ser resolvida.

Exemplos

O exemplo a seguir cria uma gramática de reconhecimento de fala em uma SrgsDocument instância , que é usada para construir um Grammar objeto .

private static Grammar CreateSrgsDocumentGrammar()  
{  
  // Create the SrgsDocument.  
  SrgsDocument document = new SrgsDocument();  

  // Create the Cities rule and add it to the document.  
  SrgsRule citiesRule = new SrgsRule("Cities");  

  SrgsOneOf cityChoice = new SrgsOneOf();  
  cityChoice.Add(new SrgsItem("Seattle"));  
  cityChoice.Add(new SrgsItem("Los Angeles"));  
  cityChoice.Add(new SrgsItem("New York"));  
  cityChoice.Add(new SrgsItem("Miami"));  

  citiesRule.Add(cityChoice);  
  document.Rules.Add(citiesRule);  

  // Create the Main rule and add it to the document.  
  SrgsRule mainRule = new SrgsRule("Main");  
  mainRule.Scope = SrgsRuleScope.Public;  

  SrgsItem item = new SrgsItem("I would like to fly from");  
  item.Add(new SrgsRuleRef(citiesRule));  
  item.Add(new SrgsText("to"));  
  item.Add(new SrgsRuleRef(citiesRule));  

  mainRule.Add(item);  
  document.Rules.Add(mainRule);  

  // Set the root rule.  
  document.Root = mainRule;  

  // Create the Grammar object.  
  Grammar citiesGrammar = new Grammar(document);  
  citiesGrammar.Name = "SrgsDocument Cities Grammar";  

  return citiesGrammar;  
}  

Comentários

Esse construtor não passa parâmetros para o manipulador de inicialização e o SrgsDocument não deve conter um manipulador de inicialização que exija argumentos.

Um SrgsDocument pode ter uma regra raiz. Para criar um Grammar objeto que especifica uma regra raiz, use o Grammar construtor ou Grammar .

Para criar um reconhecimento Grammar de fala de um SrgsDocument e especificar um URI base a ser usado para resolver referências de regra relativas, use o Grammar construtor .

Confira também

Aplica-se a

Grammar(String, String)

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de um arquivo e especifica a regra raiz.

public:
 Grammar(System::String ^ path, System::String ^ ruleName);
public Grammar (string path, string ruleName);
new System.Speech.Recognition.Grammar : string * string -> System.Speech.Recognition.Grammar
Public Sub New (path As String, ruleName As String)

Parâmetros

path
String

O caminho do arquivo que descreve uma gramática de reconhecimento de fala em um formato com suporte.

ruleName
String

O identificador da regra a ser usada como o ponto de entrada da gramática de reconhecimento de fala, ou null para usar a regra raiz padrão da descrição da gramática.

Exceções

ruleName não pode ser resolvido ou não é público, ou path é a cadeia de caracteres vazia ("") ou ruleName é null e a descrição de gramática não define uma regra raiz.

path é null.

O arquivo não contém uma descrição válida ou descreve uma gramática que contém uma referência de regra que não pode ser resolvida.

Exemplos

O exemplo a seguir carrega um arquivo SRGS local (cities.xml) de um arquivo e especifica uma regra a ser usada como a raiz da gramática. O conteúdo do arquivo cities.xml aparece no exemplo XML que segue o exemplo de C#.

// Load a cities grammar from a local file, use a specific  
// rule as the root of the grammar, and return the new grammar.  
private static Grammar CreateGrammarFromFile2()  
{  
  Grammar citiesGrammar = new Grammar(@"c:\temp\cities.xml", "Main");  
  citiesGrammar.Name = "SRGS File Cities Grammar 2";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

Comentários

Esse construtor não passa parâmetros para o manipulador de inicialização e a descrição não deve definir um manipulador de inicialização que exija argumentos.

Esse construtor pode criar uma Grammar instância dos seguintes formatos:

Esse construtor compila arquivos de gramática no formato XML em um formato binário para otimizá-los para carregamento e consumo por um mecanismo de reconhecimento de fala. Você pode reduzir o tempo necessário para construir um objeto de uma Grammar gramática de formato XML compilando a gramática com antecedência, usando um dos Compile métodos .

Para criar um Grammar que especifica um URI base a ser usado para resolver referências de regra relativas, abra um fluxo de arquivos para o arquivo e use o Grammar construtor .

Confira também

Aplica-se a

Grammar(GrammarBuilder)

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de um objeto GrammarBuilder.

public:
 Grammar(System::Speech::Recognition::GrammarBuilder ^ builder);
public Grammar (System.Speech.Recognition.GrammarBuilder builder);
new System.Speech.Recognition.Grammar : System.Speech.Recognition.GrammarBuilder -> System.Speech.Recognition.Grammar
Public Sub New (builder As GrammarBuilder)

Parâmetros

builder
GrammarBuilder

Uma instância de GrammarBuilder que contém as restrições da gramática de reconhecimento de fala.

Exemplos

O exemplo a seguir cria uma gramática de reconhecimento de fala usando Choices objetos e GrammarBuilder . O Grammar construtor cria um Grammar objeto do GrammarBuilder objeto .

// Create a grammar using a GrammarBuilder and return the new grammar.   
private static Grammar CreateGrammarBuilderGrammar()  
{  
  GrammarBuilder builder = new GrammarBuilder();  

  Choices cityChoice = new Choices (new string[]   
  {"Seattle", "New York", "Miami", "Los Angeles"});  

  builder.Append("I would like to fly from");  
  builder.Append(cityChoice);  
  builder.Append("to");  
  builder.Append(cityChoice);  

  Grammar citiesGrammar = new Grammar(builder);  
  citiesGrammar.Name = "GrammarBuilder Cities Grammar";  

  return citiesGrammar;  
}  

Confira também

Aplica-se a

Grammar(Stream)

Origem:
Grammar.cs
Origem:
Grammar.cs
Origem:
Grammar.cs

Inicializa uma nova instância da classe Grammar de um Stream.

public:
 Grammar(System::IO::Stream ^ stream);
public Grammar (System.IO.Stream stream);
new System.Speech.Recognition.Grammar : System.IO.Stream -> System.Speech.Recognition.Grammar
Public Sub New (stream As Stream)

Parâmetros

stream
Stream

Um fluxo que descreve uma gramática de reconhecimento de fala em um formato compatível.

Exceções

stream descreve uma gramática que não contém uma regra raiz.

stream é null.

O fluxo não contém uma descrição válida de uma gramática ou descreve uma gramática que contém uma referência de regra que não pode ser resolvida.

Exemplos

O exemplo a seguir cria uma gramática de reconhecimento de fala de um arquivo SRGS local (cities.xml) usando um fluxo de arquivos. O conteúdo do arquivo cities.xml aparece seguindo o exemplo de C#.

// Load a cities grammar from an I/O stream and    
// return the new grammar.   
private static Grammar CreateGrammarFromStream()  
{  
  string fileName = @"c:\temp\cities.xml";  
  Grammar citiesGrammar =  
    new Grammar(new FileStream(fileName, FileMode.Open));  
  citiesGrammar.Name = "Stream Cities Grammar";  
  return citiesGrammar;  
}  
<?xml version="1.0" encoding="UTF-8" ?>  
<grammar version="1.0" xml:lang="en-US"  
         xmlns="http://www.w3.org/2001/06/grammar"  
         tag-format="semantics/1.0" root="Main">  

  <!-- cities.xml:   
    Defines an SRGS grammar for requesting a flight. This grammar includes  
    a Cities rule that lists the cities that can be used for departures  
    and destinations. -->  

  <rule id="Main">  
    <item>  
      I would like to fly from <ruleref uri="#Cities"/>  
      to <ruleref uri="#Cities"/>  
    </item>  
  </rule>  

  <rule id="Cities" scope="public">  
    <one-of>  
      <item>Seattle</item>  
      <item>Los Angeles</item>  
      <item>New York</item>  
      <item>Miami</item>  
    </one-of>  
  </rule>  
</grammar>  

Comentários

Esse construtor não passa parâmetros para o manipulador de inicialização e a descrição não deve definir um manipulador de inicialização que exija argumentos.

Esse construtor pode criar uma Grammar instância dos seguintes formatos:

Esse construtor compila arquivos gramaticais de formato XML em um formato binário para otimizá-los para carregamento e consumo por um mecanismo de reconhecimento de fala. Você pode reduzir a quantidade de tempo necessária para construir um Grammar objeto de uma gramática de formato XML compilando a gramática com antecedência, usando um dos Compile métodos.

Uma gramática SRGS pode definir uma regra raiz. Para criar um Grammar objeto de um fluxo e especificar uma regra raiz, use o Grammar construtor ou Grammar .

Para criar um Grammar objeto de um fluxo e especificar um URI base a ser usado para resolver referências de regra relativas, use o Grammar construtor .

Confira também

Aplica-se a