Partager via


Grammar Constructeurs

Définition

Initialise une nouvelle instance de la classe Grammar.

Surcharges

Grammar()

Initialise une nouvelle instance de la classe Grammar.

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

Initialise une nouvelle instance de la classe Grammar d'une instance de SrgsDocument, puis spécifie le nom d'une règle comme point d'entrée de la grammaire et un URI de base pour résoudre les références relatives.

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

Initialise une nouvelle instance de la classe Grammar à partir d’une classe Stream, et spécifie une règle racine et un URI de base pour résoudre les références relatives.

Grammar(SrgsDocument, String, Uri)

Initialise une nouvelle instance de la Grammar classe à partir d’un SrgsDocument objet, spécifie une règle racine et définit un URI (Uniform Resource Identifier) de base pour résoudre les références de règle relatives.

Grammar(SrgsDocument, String, Object[])

Initialise une nouvelle instance de la classe Grammar d'une instance de SrgsDocument, puis spécifie le nom d'une règle comme point d'entrée de la grammaire.

Grammar(Stream, String, Uri)

Initialise une nouvelle instance de la classe Grammar à partir d'un flux, spécifie une règle racine et définit un URI (Uniform Resource Identifier) de base pour résoudre les références de règles relatives.

Grammar(Stream, String, Object[])

Initialise une nouvelle instance de la classe Grammar à partir de Stream et spécifie une règle racine.

Grammar(String, String, Object[])

Initialise une nouvelle instance de la classe Grammar à partir d’un fichier qui contient une définition de grammaire et spécifie le nom d’une règle comme point d’entrée de la grammaire.

Grammar(SrgsDocument, String)

Initialise une nouvelle instance de la Grammar classe à partir d’un SrgsDocument objet et spécifie une règle racine.

Grammar(Stream, String)

Initialise une nouvelle instance de la classe Grammar à partir de Stream et spécifie une règle racine.

Grammar(String)

Initialise une nouvelle instance de la classe Grammar à partir d'un fichier.

Grammar(SrgsDocument)

Initialise une nouvelle instance de la classe Grammar à partir d'un objet SrgsDocument.

Grammar(String, String)

Initialise une nouvelle instance de la classe Grammar à partir d'un fichier et spécifie une règle racine.

Grammar(GrammarBuilder)

Initialise une nouvelle instance de la classe Grammar à partir d'un objet GrammarBuilder.

Grammar(Stream)

Initialise une nouvelle instance de la classe Grammar à partir d'un Stream.

Remarques

Vous pouvez utiliser un Grammar constructeur pour créer une Grammar instance à partir d’un ou SrgsDocument d’un GrammarBuilder objet, ou à partir d’un fichier ou d’un Stream fichier qui contient une description d’une grammaire dans un format pris en charge. Les formats pris en charge sont les suivants :

Les constructeurs de grammaire qui acceptent des fichiers de grammaire au format XML dans leurs arguments compilent les grammaires XML dans un format binaire pour les optimiser pour le chargement et la consommation par un moteur de reconnaissance vocale. Vous pouvez réduire le temps nécessaire pour construire un objet à partir d’une Grammar grammaire au format XML en compilant la grammaire à l’avance, à l’aide de l’une Compile des méthodes.

Une grammaire de reconnaissance vocale peut définir une règle racine. Pour créer un Grammar objet qui spécifie la règle à utiliser comme règle racine, utilisez un constructeur qui accepte le ruleName paramètre.

Pour créer un Grammar objet qui spécifie un URI de base pour résoudre les références de règle relative, utilisez un constructeur qui prend le baseUri paramètre.

Grammar()

Initialise une nouvelle instance de la classe Grammar.

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

S’applique à

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

Initialise une nouvelle instance de la classe Grammar d'une instance de SrgsDocument, puis spécifie le nom d'une règle comme point d'entrée de la grammaire et un URI de base pour résoudre les références relatives.

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

Paramètres

srgsDocument
SrgsDocument

Instance de SrgsDocument qui contient les contraintes de la syntaxe de reconnaissance vocale.

ruleName
String

Identificateur de la règle à utiliser comme point d'entrée de la grammaire de reconnaissance vocale, ou null pour utiliser la règle racine par défaut de la description grammaticale.

baseUri
Uri

URI de base à utiliser pour résoudre toute référence e règle relative dans la description de syntaxe ou null.

parameters
Object[]

Paramètres à passer au gestionnaire d'initialisation spécifié par la propriété OnInit du point d'entrée ou la règle racine de Grammar à créer. Ce paramètre peut avoir la valeur null.

Exceptions

  • L’un des paramètres contient une valeur non valide.

  • Le SrgsDocument spécifié par srgsDocument ne contient pas la règle spécifiée dans ruleName.

  • Le contenu des paramètres du tableau ne correspondent pas aux arguments des gestionnaires d’initialisation de la règle.

  • La grammaire contient une référence de règle relative qui ne peut pas être résolue par la règle de base Uri par défaut pour les grammaires ou l’URI fournie par baseUri.

Remarques

Les paramètres d’un gestionnaire d’initialisation peuvent également être spécifiés.

S’applique à

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

Initialise une nouvelle instance de la classe Grammar à partir d’une classe Stream, et spécifie une règle racine et un URI de base pour résoudre les références relatives.

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

Paramètres

stream
Stream

Stream connecté à un objet d'entrée/de sortie (y compris les fichiers, ressources VisualStudio et DLL) qui contient une spécification de grammaire.

ruleName
String

Identificateur de la règle à utiliser comme point d'entrée de la grammaire de reconnaissance vocale, ou null pour utiliser la règle racine par défaut de la description grammaticale.

baseUri
Uri

URI de base à utiliser pour résoudre toute référence e règle relative dans la description de syntaxe ou null.

parameters
Object[]

Paramètres à passer au gestionnaire d'initialisation spécifié par la propriété OnInit du point d'entrée ou la règle racine de Grammar à créer. Ce paramètre peut avoir la valeur null.

Exceptions

  • L’un des paramètres contient une valeur non valide.

  • stream est associé à une grammaire qui ne contient pas la règle spécifiée par ruleName.

  • Le contenu des paramètres du tableau ne correspondent pas aux arguments des gestionnaires d’initialisation de la règle.

  • La grammaire contient une référence de règle relative qui ne peut pas être résolue par la règle de base Uri par défaut pour les grammaires ou l’URI fournie par baseUri.

Remarques

Les paramètres d’un gestionnaire d’initialisation peuvent également être spécifiés.

S’applique à

Grammar(SrgsDocument, String, Uri)

Initialise une nouvelle instance de la Grammar classe à partir d’un SrgsDocument objet, spécifie une règle racine et définit un URI (Uniform Resource Identifier) de base pour résoudre les références de règle relatives.

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)

Paramètres

srgsDocument
SrgsDocument

Contraintes pour la grammaire de reconnaissance vocale.

ruleName
String

Identificateur de la règle à utiliser comme point d'entrée de la grammaire de reconnaissance vocale, ou la valeur null pour utiliser la règle racine par défaut du SrgsDocument.

baseUri
Uri

URI de base à utiliser pour résoudre toute référence de règle relative dans SrgsDocument ou null.

Exceptions

ruleName ne peut pas être résolu ou n'est pas public, ou ruleName est null et srgsDocument ne contient pas de règle racine.

srgsDocument a la valeur null.

srgsDocument contient une référence de règle qui ne peut pas être résolue.

Exemples

L’exemple suivant crée une grammaire de reconnaissance vocale dans une SrgsDocument règle relative qui contient une référence de règle relative au fichier cities.xml et spécifie un URI à utiliser pour résoudre la référence de règle. Le contenu du fichier cities.xml s’affiche dans l’exemple XML qui suit l’exemple 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>  

Remarques

Ce constructeur ne transmet aucun paramètre au gestionnaire d’initialisation et ne SrgsDocument doit pas contenir de gestionnaire d’initialisation qui nécessite des arguments.

Ce constructeur ne valide baseUripas . Toutefois, la LoadGrammar méthode d’un objet ou SpeechRecognizer d’un SpeechRecognitionEngine objet lève une exception s’il ne peut pas résoudre toutes les références de règle dans la description de grammaire. Si baseUri ce n’est pas nullle cas, la LoadGrammar méthode utilise l’URI pour résoudre les références de règle qu’elle ne peut pas résoudre autrement. Si baseUri elle représente un fichier, la méthode utilise à la LoadGrammar fois le fichier désigné et le répertoire du fichier lorsqu’il tente de résoudre les références de règle relative.

Voir aussi

S’applique à

Grammar(SrgsDocument, String, Object[])

Initialise une nouvelle instance de la classe Grammar d'une instance de SrgsDocument, puis spécifie le nom d'une règle comme point d'entrée de la grammaire.

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

Paramètres

srgsDocument
SrgsDocument

Instance de SrgsDocument qui contient les contraintes de la syntaxe de reconnaissance vocale.

ruleName
String

Identificateur de la règle à utiliser comme point d'entrée de la grammaire de reconnaissance vocale, ou null pour utiliser la règle racine par défaut de la description grammaticale.

parameters
Object[]

Paramètres à passer au gestionnaire d'initialisation spécifié par la propriété OnInit du point d'entrée ou la règle racine de Grammar à créer. Ce paramètre peut avoir la valeur null.

Exceptions

  • L’un des paramètres contient une valeur non valide.

  • Le SrgsDocument spécifié par srgsDocument ne contient pas la règle spécifiée par ruleName.

  • Le contenu des paramètres du tableau ne correspondent pas aux arguments des gestionnaires d’initialisation de la règle.

Remarques

Les paramètres d’un gestionnaire d’initialisation peuvent également être spécifiés.

S’applique à

Grammar(Stream, String, Uri)

Initialise une nouvelle instance de la classe Grammar à partir d'un flux, spécifie une règle racine et définit un URI (Uniform Resource Identifier) de base pour résoudre les références de règles relatives.

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)

Paramètres

stream
Stream

Flux qui décrit une Grammaire de la Reconnaissance vocale dans un format pris en charge.

ruleName
String

Identificateur de la règle à utiliser comme point d'entrée de la grammaire de reconnaissance vocale, ou null pour utiliser la règle racine par défaut de la description grammaticale.

baseUri
Uri

URI de base à utiliser pour résoudre toute référence e règle relative dans la description de syntaxe ou null.

Exceptions

ruleName ne peut pas être résolu ou n'est pas public, ou ruleName est null et la description grammaticale ne définit aucune règle racine.

stream a la valeur null.

Le flux ne contient pas de description valide ou décrit une grammaire qui contient une référence de règle qui ne peut pas être résolue.

Exemples

L’exemple suivant charge un fichier SRGS local (shuttle.xml) à partir d’un flux de fichiers. Le fichier contient une référence de règle relative à une règle dans le fichier cities.xml et spécifie un URI de base à utiliser pour résoudre la référence de règle. Le contenu des fichiers shuttle.xml et cities.xml s’affiche dans les exemples XML qui suivent l’exemple 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>  

Remarques

Ce constructeur ne transmet aucun paramètre au gestionnaire d’initialisation, et la description ne doit pas définir de gestionnaire d’initialisation qui nécessite des arguments.

Ce constructeur peut créer une Grammar instance à partir des formats suivants :

Ce constructeur compile les fichiers de grammaire au format XML dans un format binaire pour les optimiser pour le chargement et la consommation par un moteur de reconnaissance vocale. Vous pouvez réduire le temps nécessaire pour construire un objet à partir d’une Grammar grammaire au format XML en compilant la grammaire à l’avance à l’aide de l’une Compile des méthodes.

Ce constructeur ne valide baseUripas . Toutefois, la LoadGrammar méthode d’un objet ou SpeechRecognizer d’un SpeechRecognitionEngine objet lève une exception s’il ne peut pas résoudre toutes les références de règle dans la description de grammaire. Si baseUri ce n’est pas nullle cas, la LoadGrammar méthode utilise l’URI pour résoudre les références de règle qu’elle ne peut pas résoudre autrement. S’il baseUri représente un fichier, il utilise à LoadGrammar la fois le fichier désigné et le répertoire du fichier lorsqu’il tente de résoudre les références de règle relative.

Voir aussi

S’applique à

Grammar(Stream, String, Object[])

Initialise une nouvelle instance de la classe Grammar à partir de Stream et spécifie une règle racine.

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

Paramètres

stream
Stream

Stream connecté à un objet d'entrée/de sortie (y compris les fichiers, ressources VisualStudio et DLL) qui contient une spécification de grammaire.

ruleName
String

Identificateur de la règle à utiliser comme point d'entrée de la grammaire de reconnaissance vocale, ou null pour utiliser la règle racine par défaut de la description grammaticale.

parameters
Object[]

Paramètres à passer au gestionnaire d'initialisation spécifié par la propriété OnInit du point d'entrée ou la règle racine de Grammar à créer. Ce paramètre peut avoir la valeur null.

Exceptions

stream est connecté à une syntaxe qui :

  • Ne contient pas la règle spécifiée dans ruleName

  • Nécessite des paramètres d’initialisation différents de ceux spécifiés dans parameters

  • Contient une référence de règle relative qui ne peut pas être résolue par la règle de base Uri par défaut pour les grammaires.

Remarques

Les paramètres d’un gestionnaire d’initialisation peuvent également être spécifiés.

S’applique à

Grammar(String, String, Object[])

Initialise une nouvelle instance de la classe Grammar à partir d’un fichier qui contient une définition de grammaire et spécifie le nom d’une règle comme point d’entrée de la grammaire.

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

Paramètres

path
String

Chemin d'accès vers un fichier, y compris les DLL, qui contient une spécification de syntaxe.

ruleName
String

Identificateur de la règle à utiliser comme point d'entrée de la grammaire de reconnaissance vocale, ou null pour utiliser la règle racine par défaut de la description grammaticale.

parameters
Object[]

Paramètres à passer au gestionnaire d'initialisation spécifié par la propriété OnInit du point d'entrée ou la règle racine de Grammar à créer. Ce paramètre peut avoir la valeur null.

Exceptions

  • L’un des paramètres contient une valeur non valide.

  • Le fichier spécifié par path ne contient pas de grammaire valide ou la règle spécifiée dans ruleName.

  • Le contenu des paramètres du tableau ne correspondent pas aux arguments des gestionnaires d’initialisation de la règle.

  • La grammaire a une référence de règle relative qui ne peut pas être résolue par la règle de base Uri par défaut pour les grammaires.

Remarques

Les paramètres d’un gestionnaire d’initialisation peuvent également être spécifiés.

S’applique à

Grammar(SrgsDocument, String)

Initialise une nouvelle instance de la Grammar classe à partir d’un SrgsDocument objet et spécifie une règle racine.

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)

Paramètres

srgsDocument
SrgsDocument

Contraintes pour la grammaire de reconnaissance vocale.

ruleName
String

Identificateur de la règle à utiliser comme point d'entrée de la grammaire de reconnaissance vocale, ou la valeur null pour utiliser la règle racine par défaut du SrgsDocument.

Exceptions

ruleName ne peut pas être résolu ou n'est pas public, ou ruleName est null et srgsDocument ne contient pas de règle racine.

srgsDocument a la valeur null.

srgsDocument contient une référence de règle qui ne peut pas être résolue.

Exemples

L’exemple suivant crée une grammaire de reconnaissance vocale dans une SrgsDocument instance et spécifie une règle à utiliser comme règle racine de la grammaire. L’exemple construit un Grammar objet à partir de l’instance SrgsDocument et le charge dans le moteur de reconnaissance vocale.

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

Remarques

Ce constructeur ne transmet aucun paramètre au gestionnaire d’initialisation et ne SrgsDocument doit pas contenir de gestionnaire d’initialisation qui nécessite des arguments.

Pour créer un objet à partir d’un Grammar SrgsDocument URI de base et spécifier un URI de base à utiliser pour résoudre les références de règle relative, utilisez le Grammar constructeur.

Voir aussi

S’applique à

Grammar(Stream, String)

Initialise une nouvelle instance de la classe Grammar à partir de Stream et spécifie une règle racine.

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)

Paramètres

stream
Stream

Flux qui décrit une Grammaire de la Reconnaissance vocale dans un format pris en charge.

ruleName
String

Identificateur de la règle à utiliser comme point d'entrée de la grammaire de reconnaissance vocale, ou null pour utiliser la règle racine par défaut de la description grammaticale.

Exceptions

ruleName ne peut pas être résolu ou n'est pas public, ou ruleName est null et la description grammaticale ne définit aucune règle racine.

stream a la valeur null.

Le flux ne contient pas de description valide ou décrit une grammaire qui contient une référence de règle qui ne peut pas être résolue.

Exemples

L’exemple suivant charge un fichier SRGS local (cities.xml) à partir d’un flux de fichiers et spécifie une règle à utiliser comme racine de la grammaire. Le contenu du fichier cities.xml apparaît dans l’exemple XML qui suit l’exemple 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>  

Remarques

Ce constructeur ne transmet aucun paramètre au gestionnaire d’initialisation, et la description ne doit pas définir de gestionnaire d’initialisation qui nécessite des arguments.

Ce constructeur peut créer une Grammar instance à partir des formats suivants :

Ce constructeur compile les fichiers de grammaire au format XML dans un format binaire pour les optimiser pour le chargement et la consommation par un moteur de reconnaissance vocale. Vous pouvez réduire le temps nécessaire pour construire un objet à partir d’une Grammar grammaire au format XML en compilant la grammaire à l’avance, à l’aide de l’une Compile des méthodes.

Pour créer un Grammar flux et spécifier un URI de base à utiliser pour résoudre les références de règle relative, utilisez le Grammar constructeur.

Voir aussi

S’applique à

Grammar(String)

Initialise une nouvelle instance de la classe Grammar à partir d'un fichier.

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)

Paramètres

path
String

Chemin d'accès du fichier qui décrit une grammaire de la reconnaissance vocale dans un format pris en charge.

Exceptions

path contient la chaîne vide («»), ou le fichier décrit une syntaxe qui ne contient pas de règle racine.

path a la valeur null.

Le fichier ne contient pas de description valide ou décrit une grammaire qui contient une référence de règle qui ne peut pas être résolue.

Exemples

L’exemple suivant charge une grammaire de reconnaissance vocale à partir d’un fichier SRGS local pour générer un Grammar objet. Le contenu du fichier cities.xml apparaît dans l’exemple XML qui suit l’exemple 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>  

Remarques

Ce constructeur ne transmet aucun paramètre au gestionnaire d’initialisation, et la description ne doit pas définir de gestionnaire d’initialisation qui nécessite des arguments.

Ce constructeur peut créer une Grammar instance à partir des formats suivants :

Ce constructeur compile les fichiers de grammaire au format XML dans un format binaire pour les optimiser pour le chargement et la consommation par un moteur de reconnaissance vocale. Vous pouvez réduire le temps nécessaire pour construire un objet à partir d’une Grammar grammaire au format XML en compilant la grammaire à l’avance, à l’aide de l’une Compile des méthodes.

Une grammaire SRGS peut définir une règle racine. Pour créer un Grammar objet à partir d’une chaîne et spécifier une règle racine, utilisez le Grammar constructeur.

Pour créer un Grammar objet qui spécifie un URI de base à utiliser pour résoudre les références de règle relative, ouvrez le fichier dans un flux de fichiers et utilisez le Grammar.Grammar constructeur.

Voir aussi

S’applique à

Grammar(SrgsDocument)

Initialise une nouvelle instance de la classe Grammar à partir d'un objet 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)

Paramètres

srgsDocument
SrgsDocument

Contraintes pour la grammaire de reconnaissance vocale.

Exceptions

srgsDocument ne contient pas de règle racine.

srgsDocument a la valeur null.

srgsDocument contient une référence de règle qui ne peut pas être résolue.

Exemples

L’exemple suivant crée une grammaire de reconnaissance vocale dans une SrgsDocument instance, qui est ensuite utilisée pour construire un Grammar objet.

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

Remarques

Ce constructeur ne transmet aucun paramètre au gestionnaire d’initialisation et ne SrgsDocument doit pas contenir de gestionnaire d’initialisation qui nécessite des arguments.

Une SrgsDocument règle peut avoir une règle racine. Pour créer un Grammar objet qui spécifie une règle racine, utilisez le ou Grammar le Grammar constructeur.

Pour créer une reconnaissance Grammar vocale à partir d’un SrgsDocument URI de base à utiliser pour résoudre les références de règle relative, utilisez le Grammar constructeur.

Voir aussi

S’applique à

Grammar(String, String)

Initialise une nouvelle instance de la classe Grammar à partir d'un fichier et spécifie une règle racine.

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)

Paramètres

path
String

Chemin d'accès du fichier qui décrit une grammaire de la reconnaissance vocale dans un format pris en charge.

ruleName
String

Identificateur de la règle à utiliser comme point d'entrée de la grammaire de reconnaissance vocale, ou null pour utiliser la règle racine par défaut de la description grammaticale.

Exceptions

ruleName ne peut pas être résolu ou n'est pas public, path est la chaîne vide ("") ou ruleName est null et la description grammaticale ne définit aucune règle racine.

path a la valeur null.

Le fichier ne contient pas de description valide ou décrit une grammaire qui contient une référence de règle qui ne peut pas être résolue.

Exemples

L’exemple suivant charge un fichier SRGS local (cities.xml) à partir d’un fichier et spécifie une règle à utiliser comme racine de la grammaire. Le contenu du fichier cities.xml s’affiche dans l’exemple XML qui suit l’exemple 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>  

Remarques

Ce constructeur ne transmet aucun paramètre au gestionnaire d’initialisation, et la description ne doit pas définir de gestionnaire d’initialisation qui nécessite des arguments.

Ce constructeur peut créer une Grammar instance à partir des formats suivants :

Ce constructeur compile les fichiers de grammaire au format XML dans un format binaire pour les optimiser pour le chargement et la consommation par un moteur de reconnaissance vocale. Vous pouvez réduire le temps nécessaire pour construire un objet à partir d’une Grammar grammaire au format XML en compilant la grammaire à l’avance à l’aide de l’une Compile des méthodes.

Pour créer un Grammar URI de base à utiliser pour résoudre les références de règle relative, ouvrez un flux de fichiers pour le fichier et utilisez le Grammar constructeur.

Voir aussi

S’applique à

Grammar(GrammarBuilder)

Initialise une nouvelle instance de la classe Grammar à partir d'un objet 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)

Paramètres

builder
GrammarBuilder

Instance de GrammarBuilder qui contient les contraintes de la syntaxe de reconnaissance vocale.

Exemples

L’exemple suivant crée une grammaire de reconnaissance vocale à l’aide Choices et GrammarBuilder des objets. Le Grammar constructeur crée un Grammar objet à partir de l’objet GrammarBuilder .

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

Voir aussi

S’applique à

Grammar(Stream)

Initialise une nouvelle instance de la classe Grammar à partir d'un 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)

Paramètres

stream
Stream

Flux qui décrit une Grammaire de la Reconnaissance vocale dans un format pris en charge.

Exceptions

stream décrit une syntaxe qui ne contient pas de règle racine.

stream a la valeur null.

Le flux ne contient pas de description valide d'une syntaxe, ou décrit une syntaxe qui contient une référence de règle qui ne peut pas être résolue.

Exemples

L’exemple suivant crée une grammaire de reconnaissance vocale à partir d’un fichier SRGS local (cities.xml) à l’aide d’un flux de fichiers. Le contenu du fichier cities.xml apparaît en suivant l’exemple 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>  

Remarques

Ce constructeur ne transmet aucun paramètre au gestionnaire d’initialisation, et la description ne doit pas définir de gestionnaire d’initialisation qui nécessite des arguments.

Ce constructeur peut créer une Grammar instance à partir des formats suivants :

Ce constructeur compile les fichiers de grammaire au format XML dans un format binaire pour les optimiser pour le chargement et la consommation par un moteur de reconnaissance vocale. Vous pouvez réduire le temps nécessaire pour construire un objet à partir d’une Grammar grammaire au format XML en compilant la grammaire à l’avance, à l’aide de l’une Compile des méthodes.

Une grammaire SRGS peut définir une règle racine. Pour créer un Grammar objet à partir d’un flux et spécifier une règle racine, utilisez le ou Grammar le Grammar constructeur.

Pour créer un Grammar objet à partir d’un flux et spécifier un URI de base à utiliser pour résoudre les références de règle relative, utilisez le Grammar constructeur.

Voir aussi

S’applique à