Udostępnij za pośrednictwem


Grammar Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy Grammar.

Przeciążenia

Grammar()

Inicjuje nowe wystąpienie klasy Grammar.

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

Inicjuje nowe wystąpienie Grammar klasy z wystąpienia SrgsDocumentklasy i określa nazwę reguły, która ma być punktem wejścia do gramatyki i podstawowym identyfikatorem URI w celu rozpoznania odwołań względnych.

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

Inicjuje nowe wystąpienie Grammar klasy a Stream i określa regułę główną oraz podstawowy identyfikator URI do rozpoznawania odwołań względnych.

Grammar(SrgsDocument, String, Uri)

Inicjuje nowe wystąpienie Grammar klasy z SrgsDocument obiektu, określa regułę główną i definiuje podstawowy identyfikator URI (Uniform Resource Identifier), aby rozwiązać odwołania do reguł względnych.

Grammar(SrgsDocument, String, Object[])

Inicjuje nowe wystąpienie Grammar klasy z wystąpienia SrgsDocumentklasy i określa nazwę reguły, która ma być punktem wejścia do gramatyki.

Grammar(Stream, String, Uri)

Inicjuje nowe wystąpienie Grammar klasy ze strumienia, określa regułę główną i definiuje podstawowy identyfikator URI (Uniform Resource Identifier), aby rozwiązać odwołania do reguł względnych.

Grammar(Stream, String, Object[])

Inicjuje Grammar nowe wystąpienie klasy z klasy Stream i określa regułę główną.

Grammar(String, String, Object[])

Inicjuje nowe wystąpienie Grammar klasy z pliku zawierającego definicję gramatyki i określa nazwę reguły jako punkt wejścia do gramatyki.

Grammar(SrgsDocument, String)

Inicjuje Grammar nowe wystąpienie klasy z SrgsDocument obiektu i określa regułę główną.

Grammar(Stream, String)

Inicjuje Grammar nowe wystąpienie klasy z klasy Stream i określa regułę główną.

Grammar(String)

Inicjuje Grammar nowe wystąpienie klasy z pliku.

Grammar(SrgsDocument)

Inicjuje Grammar nowe wystąpienie klasy z SrgsDocument obiektu.

Grammar(String, String)

Inicjuje nowe wystąpienie Grammar klasy z pliku i określa regułę główną.

Grammar(GrammarBuilder)

Inicjuje Grammar nowe wystąpienie klasy z GrammarBuilder obiektu.

Grammar(Stream)

Inicjuje Grammar nowe wystąpienie klasy z klasy Stream.

Uwagi

Można użyć konstruktora Grammar , aby utworzyć Grammar wystąpienie na podstawie GrammarBuilder obiektu lub SrgsDocument albo z pliku lub obiektu Stream zawierającego opis gramatyki w obsługiwanym formacie. Obsługiwane formaty obejmują następujące elementy:

Konstruktory gramatyczne, które akceptują pliki gramatyczne w formacie XML w swoich argumentach, kompilują gramatyki XML do formatu binarnego, aby zoptymalizować je pod kątem ładowania i zużycia przez aparat rozpoznawania mowy. Możesz skrócić czas wymagany do skonstruowania Grammar obiektu z gramatyki w formacie XML, kompilując gramatykę z wyprzedzeniem przy użyciu jednej z Compile metod.

Gramatyka rozpoznawania mowy może definiować regułę główną. Aby utworzyć Grammar obiekt, który określa, która reguła ma być używana jako reguła główna, należy użyć konstruktora, który akceptuje ruleName parametr.

Aby utworzyć Grammar obiekt, który określa podstawowy identyfikator URI do rozpoznawania odwołań do reguł względnych, użyj konstruktora, który przyjmuje baseUri parametr .

Grammar()

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie klasy Grammar.

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

Dotyczy

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

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar klasy z wystąpienia SrgsDocumentklasy i określa nazwę reguły, która ma być punktem wejścia do gramatyki i podstawowym identyfikatorem URI w celu rozpoznania odwołań względnych.

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

Parametry

srgsDocument
SrgsDocument

Wystąpienie, SrgsDocument które zawiera ograniczenia gramatyki rozpoznawania mowy.

ruleName
String

Identyfikator reguły do użycia jako punkt wejścia gramatyki rozpoznawania mowy lub null użyć domyślnej reguły głównej opisu gramatyki.

baseUri
Uri

Podstawowy identyfikator URI używany do rozpoznawania dowolnego odwołania do reguły względnej w opisie gramatycznym lub null.

parameters
Object[]

Parametry, które mają zostać przekazane do procedury obsługi inicjowania określonej przez OnInit właściwość punktu wejścia lub reguły głównej Grammar , która ma zostać utworzona. Parametr może mieć wartość null.

Wyjątki

  • Dowolny z parametrów zawiera nieprawidłową wartość.

  • Określony SrgsDocument przez srgsDocument nie zawiera reguły określonej w ruleNameelemecie .

  • Zawartość parametrów tablicy nie jest zgodna z argumentami żadnego z procedur obsługi inicjowania reguły.

  • Gramatyka ma odwołanie do reguły względnej, której nie można rozpoznać przez domyślną regułę bazową Uri dla gramatyki lub identyfikator URI dostarczony przez baseUriprogram .

Uwagi

Można również określić parametry procedury obsługi inicjowania.

Dotyczy

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

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar klasy a Stream i określa regułę główną oraz podstawowy identyfikator URI do rozpoznawania odwołań względnych.

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

Parametry

stream
Stream

Połączony Stream z obiektem wejściowym/wyjściowym (w tym plikami, zasobami Programu VisualStudio i bibliotekami DLL), który zawiera specyfikację gramatyczną.

ruleName
String

Identyfikator reguły do użycia jako punkt wejścia gramatyki rozpoznawania mowy lub null użyć domyślnej reguły głównej opisu gramatyki.

baseUri
Uri

Podstawowy identyfikator URI używany do rozpoznawania dowolnego odwołania do reguły względnej w opisie gramatycznym lub null.

parameters
Object[]

Parametry, które mają zostać przekazane do procedury obsługi inicjowania określonej przez OnInit właściwość punktu wejścia lub reguły głównej Grammar , która ma zostać utworzona. Parametr może mieć wartość null.

Wyjątki

  • Dowolny z parametrów zawiera nieprawidłową wartość.

  • Element stream jest połączony z gramatyką, która nie zawiera reguły określonej przez ruleName.

  • Zawartość parametrów tablicy nie jest zgodna z argumentami żadnego z procedur obsługi inicjowania reguły.

  • Gramatyka zawiera odwołanie do reguły względnej, której nie można rozpoznać przez domyślną regułę bazową Uri dla gramatyki lub identyfikatora URI dostarczonego przez baseUriprogram .

Uwagi

Można również określić parametry procedury obsługi inicjowania.

Dotyczy

Grammar(SrgsDocument, String, Uri)

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar klasy z SrgsDocument obiektu, określa regułę główną i definiuje podstawowy identyfikator URI (Uniform Resource Identifier), aby rozwiązać odwołania do reguł względnych.

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)

Parametry

srgsDocument
SrgsDocument

Ograniczenia gramatyki rozpoznawania mowy.

ruleName
String

Identyfikator reguły, która ma być używana jako punkt wejścia gramatyki rozpoznawania mowy, lub null do używania domyślnej reguły głównej elementu SrgsDocument.

baseUri
Uri

Podstawowy identyfikator URI używany do rozpoznawania dowolnego odwołania do reguły względnej w elemencie SrgsDocumentlub null.

Wyjątki

ruleName nie można rozpoznać lub nie jest publiczny lub ruleName jest null i srgsDocument nie zawiera reguły głównej.

srgsDocument to null.

srgsDocument zawiera odwołanie do reguły, której nie można rozpoznać.

Przykłady

Poniższy przykład tworzy gramatykę rozpoznawania mowy w elemencie SrgsDocument zawierającym odwołanie do reguły względnej do pliku cities.xml i określa identyfikator URI używany do rozpoznawania odwołania do reguły. Zawartość pliku cities.xml jest wyświetlana w przykładzie XML, który jest zgodny z przykładem języka 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>  

Uwagi

Ten konstruktor nie przekazuje żadnych parametrów do procedury obsługi inicjowania i SrgsDocument nie powinien zawierać procedury obsługi inicjowania, która wymaga argumentów.

Ten konstruktor nie weryfikuje baseUri. Jednak metoda SpeechRecognitionEngine obiektu lub SpeechRecognizer zgłasza wyjątek, LoadGrammar jeśli nie może rozpoznać wszystkich odwołań do reguły w opisie gramatyki. Jeśli baseUri nie nulljest to , LoadGrammar metoda używa identyfikatora URI do rozpoznawania odwołań do reguł, których nie może rozpoznać w inny sposób. Jeśli baseUri reprezentuje plik, LoadGrammar metoda używa zarówno wyznaczonego pliku, jak i katalogu pliku podczas próby rozpoznania odwołań do reguł względnych.

Zobacz też

Dotyczy

Grammar(SrgsDocument, String, Object[])

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar klasy z wystąpienia SrgsDocumentklasy i określa nazwę reguły, która ma być punktem wejścia do gramatyki.

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

Parametry

srgsDocument
SrgsDocument

Wystąpienie, SrgsDocument które zawiera ograniczenia gramatyki rozpoznawania mowy.

ruleName
String

Identyfikator reguły do użycia jako punkt wejścia gramatyki rozpoznawania mowy lub null użyć domyślnej reguły głównej opisu gramatyki.

parameters
Object[]

Parametry, które mają zostać przekazane do procedury obsługi inicjowania określonej przez OnInit właściwość punktu wejścia lub reguły głównej Grammar , która ma zostać utworzona. Parametr może mieć wartość null.

Wyjątki

  • Dowolny z parametrów zawiera nieprawidłową wartość.

  • Określony SrgsDocument przez srgsDocument element nie zawiera reguły określonej przez ruleName.

  • Zawartość parametrów tablicy nie jest zgodna z argumentami żadnego z procedur obsługi inicjowania reguły.

Uwagi

Można również określić parametry procedury obsługi inicjowania.

Dotyczy

Grammar(Stream, String, Uri)

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar klasy ze strumienia, określa regułę główną i definiuje podstawowy identyfikator URI (Uniform Resource Identifier), aby rozpoznawać odwołania do reguł względnych.

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)

Parametry

stream
Stream

Strumień opisujący gramatykę rozpoznawania mowy w obsługiwanym formacie.

ruleName
String

Identyfikator reguły do użycia jako punkt wejścia gramatyki rozpoznawania mowy lub null użyć domyślnej reguły głównej opisu gramatyki.

baseUri
Uri

Podstawowy identyfikator URI używany do rozpoznawania dowolnego odwołania do reguły względnej w opisie gramatycznym lub null.

Wyjątki

ruleName nie można rozpoznać lub nie jest publiczny lub ruleName jest null i opis gramatyki nie definiuje reguły głównej.

stream to null.

Strumień nie zawiera prawidłowego opisu ani nie opisuje gramatyki zawierającej odwołanie do reguły, której nie można rozpoznać.

Przykłady

Poniższy przykład ładuje lokalny plik SRGS (shuttle.xml) ze strumienia plików. Plik zawiera odwołanie do reguły względnej w pliku cities.xml i określa podstawowy identyfikator URI używany do rozpoznawania odwołania do reguły. Zawartość plików shuttle.xml i cities.xml jest wyświetlana w przykładach XML, które są zgodne z przykładem języka 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>  

Uwagi

Ten konstruktor nie przekazuje żadnych parametrów do procedury obsługi inicjowania, a opis nie powinien definiować procedury obsługi inicjowania, która wymaga argumentów.

Ten konstruktor może utworzyć Grammar wystąpienie na podstawie następujących formatów:

Ten konstruktor kompiluje pliki gramatyczne w formacie XML do formatu binarnego, aby zoptymalizować je pod kątem ładowania i użycia przez aparat rozpoznawania mowy. Możesz skrócić czas wymagany do utworzenia Grammar obiektu z gramatyki w formacie XML, kompilując gramatykę z wyprzedzeniem przy użyciu jednej z Compile metod.

Ten konstruktor nie weryfikuje baseUri. Jednak metoda SpeechRecognitionEngine obiektu lub SpeechRecognizer zgłasza wyjątek, LoadGrammar jeśli nie może rozpoznać wszystkich odwołań do reguły w opisie gramatyki. Jeśli baseUri nie nulljest to , LoadGrammar metoda używa identyfikatora URI do rozpoznawania odwołań do reguł, których nie może rozpoznać w inny sposób. Jeśli baseUri reprezentuje plik, LoadGrammar wówczas używa zarówno wyznaczonego pliku, jak i katalogu pliku podczas próby rozpoznania odwołań do reguły względnej.

Zobacz też

Dotyczy

Grammar(Stream, String, Object[])

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje Grammar nowe wystąpienie klasy z klasy Stream i określa regułę główną.

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

Parametry

stream
Stream

Obiekt Stream połączony z obiektem wejściowym/wyjściowym (w tym plikami, zasobami programu VisualStudio i bibliotekami DLL), który zawiera specyfikację gramatyczną.

ruleName
String

Identyfikator reguły, która ma być używana jako punkt wejścia gramatyki rozpoznawania mowy, lub null do używania domyślnej reguły głównej opisu gramatyki.

parameters
Object[]

Parametry, które mają zostać przekazane do procedury obsługi inicjowania określonej przez OnInit właściwość punktu wejścia lub reguły głównej Grammar , która ma zostać utworzona. Parametr może mieć wartość null.

Wyjątki

stream jest połączony z gramatyką, która:

  • Nie zawiera reguły określonej w ruleName

  • Wymaga parametrów inicjowania innych niż określone w parameters

  • Zawiera odwołanie do reguły względnej, której nie można rozpoznać przez domyślną regułę podstawową Uri dla gramatyki.

Uwagi

Można również określić parametry programu obsługi inicjowania.

Dotyczy

Grammar(String, String, Object[])

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar klasy z pliku zawierającego definicję gramatyki i określa nazwę reguły jako punkt wejścia do gramatyki.

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

Parametry

path
String

Ścieżka do pliku, w tym biblioteki DLL, która zawiera specyfikację gramatyczną.

ruleName
String

Identyfikator reguły, która ma być używana jako punkt wejścia gramatyki rozpoznawania mowy, lub null do używania domyślnej reguły głównej opisu gramatyki.

parameters
Object[]

Parametry, które mają zostać przekazane do procedury obsługi inicjowania określonej przez OnInit właściwość punktu wejścia lub reguły głównej Grammar , która ma zostać utworzona. Parametr może mieć wartość null.

Wyjątki

  • Dowolny z parametrów zawiera nieprawidłową wartość.

  • Plik określony przez path program nie zawiera prawidłowej gramatyki ani reguły określonej w pliku ruleName.

  • Zawartość parametrów tablicy nie jest zgodna z argumentami żadnego z programów obsługi inicjowania reguły.

  • Gramatyka zawiera odwołanie do reguły względnej, której nie można rozpoznać przez domyślną regułę podstawową Uri dla gramatyki.

Uwagi

Można również określić parametry programu obsługi inicjowania.

Dotyczy

Grammar(SrgsDocument, String)

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar klasy z SrgsDocument obiektu i określa regułę główną.

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)

Parametry

srgsDocument
SrgsDocument

Ograniczenia dotyczące gramatyki rozpoznawania mowy.

ruleName
String

Identyfikator reguły, która ma być używana jako punkt wejścia gramatyki rozpoznawania mowy, lub null aby użyć domyślnej reguły głównej .SrgsDocument

Wyjątki

ruleName Nie można rozpoznać lub nie jest publiczny lub ruleName jest null i srgsDocument nie zawiera reguły głównej.

srgsDocument to null.

srgsDocument zawiera odwołanie do reguły, której nie można rozpoznać.

Przykłady

Poniższy przykład tworzy gramatykę rozpoznawania mowy w SrgsDocument wystąpieniu i określa regułę, która ma być używana jako główna reguła gramatyki. Przykład konstruuje Grammar obiekt z SrgsDocument wystąpienia i ładuje go do aparatu rozpoznawania mowy.

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

Uwagi

Ten konstruktor nie przekazuje żadnych parametrów do procedury obsługi inicjowania i SrgsDocument nie powinien zawierać procedury obsługi inicjowania, która wymaga argumentów.

Aby utworzyć Grammar obiekt na podstawie SrgsDocument obiektu i określić podstawowy identyfikator URI do rozpoznawania odwołań do reguł względnych, użyj konstruktora Grammar .

Zobacz też

Dotyczy

Grammar(Stream, String)

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje Grammar nowe wystąpienie klasy z klasy Stream i określa regułę główną.

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)

Parametry

stream
Stream

Strumień opisujący gramatykę rozpoznawania mowy w obsługiwanym formacie.

ruleName
String

Identyfikator reguły, która ma być używana jako punkt wejścia gramatyki rozpoznawania mowy, lub null do używania domyślnej reguły głównej opisu gramatyki.

Wyjątki

ruleName Nie można rozpoznać lub nie jest publiczny lub ruleName jest lub jest null i opis gramatyki nie definiuje reguły głównej.

stream to null.

Strumień nie zawiera prawidłowego opisu ani nie opisuje gramatyki zawierającej odwołanie do reguły, której nie można rozpoznać.

Przykłady

Poniższy przykład ładuje lokalny plik SRGS (cities.xml) ze strumienia plików i określa regułę używaną jako element główny gramatyki. Zawartość pliku cities.xml pojawia się w przykładzie XML, który jest zgodny z przykładem języka 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>  

Uwagi

Ten konstruktor nie przekazuje żadnych parametrów do procedury obsługi inicjowania, a opis nie powinien definiować procedury obsługi inicjowania, która wymaga argumentów.

Ten konstruktor może utworzyć Grammar wystąpienie w następujących formatach:

Ten konstruktor kompiluje pliki gramatyczne w formacie XML do formatu binarnego, aby zoptymalizować je pod kątem ładowania i zużycia przez aparat rozpoznawania mowy. Możesz skrócić czas wymagany do skonstruowania Grammar obiektu z gramatyki w formacie XML, kompilując gramatykę z wyprzedzeniem przy użyciu jednej z Compile metod.

Aby utworzyć element Grammar na podstawie strumienia i określić podstawowy identyfikator URI do użycia do rozpoznawania odwołań do reguł względnych, użyj konstruktora Grammar .

Zobacz też

Dotyczy

Grammar(String)

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje Grammar nowe wystąpienie klasy z pliku.

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)

Parametry

path
String

Ścieżka pliku opisującego gramatykę rozpoznawania mowy w obsługiwanym formacie.

Wyjątki

path Zawiera pusty ciąg (""), lub plik opisuje gramatykę, która nie zawiera reguły głównej.

path to null.

Plik nie zawiera prawidłowego opisu lub opisuje gramatykę zawierającą odwołanie do reguły, której nie można rozpoznać.

Przykłady

Poniższy przykład ładuje gramatykę rozpoznawania mowy z lokalnego pliku SRGS w celu skompilowania Grammar obiektu. Zawartość pliku cities.xml pojawia się w przykładzie XML, który jest zgodny z przykładem języka 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>  

Uwagi

Ten konstruktor nie przekazuje żadnych parametrów do procedury obsługi inicjowania, a opis nie powinien definiować procedury obsługi inicjowania, która wymaga argumentów.

Ten konstruktor może utworzyć Grammar wystąpienie w następujących formatach:

Ten konstruktor kompiluje pliki gramatyczne w formacie XML do formatu binarnego, aby zoptymalizować je pod kątem ładowania i zużycia przez aparat rozpoznawania mowy. Możesz skrócić czas wymagany do skonstruowania Grammar obiektu z gramatyki w formacie XML, kompilując gramatykę z wyprzedzeniem przy użyciu jednej z Compile metod.

Gramatyka SRGS może definiować regułę główną. Aby utworzyć Grammar obiekt na podstawie ciągu i określić regułę główną, użyj konstruktora Grammar .

Aby utworzyć Grammar obiekt, który określa podstawowy identyfikator URI do rozpoznawania odwołań do reguł względnych, otwórz plik w strumieniu plików i użyj konstruktora Grammar.Grammar .

Zobacz też

Dotyczy

Grammar(SrgsDocument)

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje Grammar nowe wystąpienie klasy z SrgsDocument obiektu.

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)

Parametry

srgsDocument
SrgsDocument

Ograniczenia dotyczące gramatyki rozpoznawania mowy.

Wyjątki

srgsDocument nie zawiera reguły głównej.

srgsDocument to null.

srgsDocument zawiera odwołanie do reguły, której nie można rozpoznać.

Przykłady

Poniższy przykład tworzy gramatykę rozpoznawania mowy w wystąpieniu SrgsDocument , które jest następnie używane do konstruowania Grammar obiektu.

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

Uwagi

Ten konstruktor nie przekazuje żadnych parametrów do procedury obsługi inicjowania i SrgsDocument nie powinien zawierać procedury obsługi inicjowania, która wymaga argumentów.

Element SrgsDocument może mieć regułę główną. Aby utworzyć obiekt określający regułę Grammar główną, użyj konstruktora Grammar lub Grammar .

Aby utworzyć rozpoznawanie Grammar mowy na podstawie SrgsDocument i określić podstawowy identyfikator URI do użycia do rozpoznawania odwołań do reguł względnych, użyj konstruktora Grammar .

Zobacz też

Dotyczy

Grammar(String, String)

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar klasy z pliku i określa regułę główną.

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)

Parametry

path
String

Ścieżka pliku opisującego gramatykę rozpoznawania mowy w obsługiwanym formacie.

ruleName
String

Identyfikator reguły, która ma być używana jako punkt wejścia gramatyki rozpoznawania mowy, lub null do używania domyślnej reguły głównej opisu gramatyki.

Wyjątki

ruleName Nie można rozpoznać lub nie jest publiczny, path jest pustym ciągiem (""), lub ruleName jest null i opis gramatyki nie definiuje reguły głównej.

path to null.

Plik nie zawiera prawidłowego opisu ani nie opisuje gramatyki zawierającej odwołanie do reguły, których nie można rozpoznać.

Przykłady

Poniższy przykład ładuje lokalny plik SRGS (cities.xml) z pliku i określa regułę, która ma być używana jako katalog główny gramatyki. Zawartość pliku cities.xml pojawia się w przykładzie XML, który jest zgodny z przykładem języka 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>  

Uwagi

Ten konstruktor nie przekazuje żadnych parametrów do procedury obsługi inicjowania, a opis nie powinien definiować procedury obsługi inicjowania, która wymaga argumentów.

Ten konstruktor może utworzyć Grammar wystąpienie w następujących formatach:

Ten konstruktor kompiluje pliki gramatyczne w formacie XML do formatu binarnego, aby zoptymalizować je pod kątem ładowania i zużycia przez aparat rozpoznawania mowy. Możesz skrócić czas wymagany do skonstruowania Grammar obiektu z gramatyki w formacie XML, kompilując gramatykę z wyprzedzeniem przy użyciu jednej z Compile metod.

Aby utworzyć element Grammar określający podstawowy identyfikator URI używany do rozpoznawania odwołań do reguł względnych, otwórz strumień plików dla pliku i użyj konstruktora Grammar .

Zobacz też

Dotyczy

Grammar(GrammarBuilder)

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje Grammar nowe wystąpienie klasy z GrammarBuilder obiektu.

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)

Parametry

builder
GrammarBuilder

Wystąpienie klasy GrammarBuilder , które zawiera ograniczenia dotyczące gramatyki rozpoznawania mowy.

Przykłady

Poniższy przykład tworzy gramatykę rozpoznawania mowy przy użyciu obiektów Choices i GrammarBuilder . Konstruktor Grammar tworzy Grammar obiekt na podstawie GrammarBuilder obiektu .

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

Zobacz też

Dotyczy

Grammar(Stream)

Źródło:
Grammar.cs
Źródło:
Grammar.cs
Źródło:
Grammar.cs

Inicjuje Grammar nowe wystąpienie klasy z klasy 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)

Parametry

stream
Stream

Strumień opisujący gramatykę rozpoznawania mowy w obsługiwanym formacie.

Wyjątki

stream Opisuje gramatykę, która nie zawiera reguły głównej.

stream to null.

Strumień nie zawiera prawidłowego opisu gramatyki lub opisuje gramatykę zawierającą odwołanie do reguły, której nie można rozpoznać.

Przykłady

Poniższy przykład tworzy gramatykę rozpoznawania mowy na podstawie lokalnego pliku SRGS (cities.xml) przy użyciu strumienia plików. Zawartość pliku cities.xml pojawia się w poniższym przykładzie w języku 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>  

Uwagi

Ten konstruktor nie przekazuje żadnych parametrów do procedury obsługi inicjowania, a opis nie powinien definiować procedury obsługi inicjowania, która wymaga argumentów.

Ten konstruktor może utworzyć Grammar wystąpienie w następujących formatach:

Ten konstruktor kompiluje pliki gramatyczne w formacie XML do formatu binarnego, aby zoptymalizować je pod kątem ładowania i zużycia przez aparat rozpoznawania mowy. Możesz skrócić czas wymagany do skonstruowania Grammar obiektu z gramatyki w formacie XML, kompilując gramatykę z wyprzedzeniem przy użyciu jednej z Compile metod.

Gramatyka SRGS może definiować regułę główną. Aby utworzyć Grammar obiekt na podstawie strumienia i określić regułę główną, użyj konstruktora Grammar lub Grammar .

Aby utworzyć Grammar obiekt na podstawie strumienia i określić podstawowy identyfikator URI do rozpoznawania odwołań do reguł względnych, użyj konstruktora Grammar .

Zobacz też

Dotyczy