Grammar Konstruktory

Definice

Inicializuje novou instanci Grammar třídy.

Přetížení

Name Description
Grammar()

Inicializuje novou instanci Grammar třídy.

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

Inicializuje novou instanci Grammar třídy z instance SrgsDocumenta určuje název pravidla, které má být vstupním bodem gramatiky a základní identifikátor URI pro překlad relativních odkazů.

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

Inicializuje novou instanci Grammar třídy Stream a určuje kořenové pravidlo a základní identifikátor URI pro překlad relativních odkazů.

Grammar(SrgsDocument, String, Uri)

Inicializuje novou instanci třídy z Grammar objektuSrgsDocument, určuje kořenové pravidlo a definuje základní identifikátor URI (Uniform Resource Identifier) k překladu relativních odkazů na pravidlo.

Grammar(SrgsDocument, String, Object[])

Inicializuje novou instanci Grammar třídy z instance SrgsDocumenta určuje název pravidla, které má být vstupním bodem gramatiky.

Grammar(Stream, String, Uri)

Inicializuje novou instanci Grammar třídy ze streamu, určuje kořenové pravidlo a definuje základní identifikátor URI (Uniform Resource Identifier) k překladu relativních odkazů na pravidlo.

Grammar(Stream, String, Object[])

Inicializuje novou instanci Grammar třídy z a Stream určuje kořenové pravidlo.

Grammar(String, String, Object[])

Inicializuje novou instanci Grammar třídy ze souboru, který obsahuje definici gramatiky, a určuje název pravidla, které má být vstupním bodem gramatiky.

Grammar(SrgsDocument, String)

Inicializuje novou instanci Grammar třídy z objektu SrgsDocument a určuje kořenové pravidlo.

Grammar(Stream, String)

Inicializuje novou instanci Grammar třídy z a Stream určuje kořenové pravidlo.

Grammar(String)

Inicializuje novou instanci Grammar třídy ze souboru.

Grammar(SrgsDocument)

Inicializuje novou instanci Grammar třídy z objektu SrgsDocument .

Grammar(String, String)

Inicializuje novou instanci Grammar třídy ze souboru a určuje kořenové pravidlo.

Grammar(GrammarBuilder)

Inicializuje novou instanci Grammar třídy z objektu GrammarBuilder .

Grammar(Stream)

Inicializuje novou instanci Grammar třídy z objektu Stream.

Poznámky

Konstruktor můžete použít Grammar k vytvoření Grammar instance z objektu GrammarBuilder nebo SrgsDocument ze souboru nebo ze souboru nebo Stream z objektu, který obsahuje popis gramatiky v podporovaném formátu. Mezi podporované formáty patří:

Konstruktory gramatiky, které přijímají gramatické soubory ve formátu XML v argumentech, kompilují gramatiky XML do binárního formátu, aby je optimalizovaly pro načítání a spotřebu modulem pro rozpoznávání řeči. Pomocí jedné z Grammar metod můžete zkrátit dobu potřebnou k vytvoření Compile objektu z gramatiky ve formátu XML tak, že gramatiku předem zkompilujete.

Gramatika rozpoznávání řeči může definovat kořenové pravidlo. Chcete-li vytvořit Grammar objekt, který určuje, které pravidlo se má použít jako kořenové pravidlo, použijte konstruktor, který přijímá ruleName parametr.

Chcete-li vytvořit Grammar objekt, který určuje základní identifikátor URI pro překlad relativních odkazů na pravidlo, použijte konstruktor, který přebírá baseUri parametr.

Grammar()

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy.

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

Platí pro

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

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy z instance SrgsDocumenta určuje název pravidla, které má být vstupním bodem gramatiky a základní identifikátor URI pro překlad relativních odkazů.

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

Instance SrgsDocument , která obsahuje omezení pro gramatiku rozpoznávání řeči.

ruleName
String

Identifikátor pravidla, které se má použít jako vstupní bod gramatiky rozpoznávání řeči, nebo null použít výchozí kořenové pravidlo popisu gramatiky.

baseUri
Uri

Základní identifikátor URI, který se použije k překladu jakéhokoli relativního odkazu na pravidlo v popisu gramatiky nebo null.

parameters
Object[]

Parametry, které se mají předat obslužné rutině inicializace určené OnInit vlastností vstupního bodu nebo kořenového pravidla vytvářeného objektu Grammar . Tento parametr může mít hodnotu null.

Výjimky

  • Libovolný z parametrů obsahuje neplatnou hodnotu.

  • srgsDocument Zadaný SrgsDocument parametr neobsahuje pravidlo zadané v ruleName.

  • Obsah parametrů pole neodpovídá argumentům žádných obslužných rutin inicializace pravidla.

  • Gramatika má relativní odkaz na pravidlo, které nelze vyřešit výchozím základním Uri pravidlem pro gramatiky nebo identifikátorem URI zadaným baseUri.

Poznámky

Parametry obslužné rutiny inicializace mohou být také zadány.

Důležité

Použití instance tohoto typu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt použijte pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Platí pro

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

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy Stream a určuje kořenové pravidlo a základní identifikátor URI pro překlad relativních odkazů.

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

Připojený Stream k vstupnímu/výstupnímu objektu (včetně souborů, visualstudio resources a knihoven DLL), který obsahuje specifikaci gramatiky.

ruleName
String

Identifikátor pravidla, které se má použít jako vstupní bod gramatiky rozpoznávání řeči, nebo null použít výchozí kořenové pravidlo popisu gramatiky.

baseUri
Uri

Základní identifikátor URI, který se použije k překladu jakéhokoli relativního odkazu na pravidlo v popisu gramatiky nebo null.

parameters
Object[]

Parametry, které se mají předat obslužné rutině inicializace určené OnInit vlastností vstupního bodu nebo kořenového pravidla vytvářeného objektu Grammar . Tento parametr může mít hodnotu null.

Výjimky

  • Libovolný z parametrů obsahuje neplatnou hodnotu.

  • Je stream připojen k gramatikě, která neobsahuje pravidlo určené ruleName.

  • Obsah parametrů pole neodpovídá argumentům žádných obslužných rutin inicializace pravidla.

  • Gramatika obsahuje relativní odkaz na pravidlo, které nelze vyřešit výchozím základním Uri pravidlem pro gramatiky nebo identifikátor URI zadaný .baseUri

Poznámky

Parametry obslužné rutiny inicializace mohou být také zadány.

Důležité

Použití instance tohoto typu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt použijte pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Platí pro

Grammar(SrgsDocument, String, Uri)

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci třídy z Grammar objektuSrgsDocument, určuje kořenové pravidlo a definuje základní identifikátor URI (Uniform Resource Identifier) k překladu relativních odkazů na pravidlo.

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

Omezení gramatiky rozpoznávání řeči.

ruleName
String

Identifikátor pravidla, které se má použít jako vstupní bod gramatiky rozpoznávání řeči, nebo null použít výchozí kořenové pravidlo SrgsDocument.

baseUri
Uri

Základní identifikátor URI, který se použije k překladu jakéhokoli relativního odkazu na pravidlo v sadě SrgsDocument, nebo null.

Výjimky

ruleName aplikace nemůže být vyřešena nebo není veřejná nebo ruleNamenullsrgsDocument neobsahuje kořenové pravidlo.

srgsDocument je null.

srgsDocument obsahuje odkaz na pravidlo, který nelze přeložit.

Příklady

Následující příklad vytvoří gramatiku rozpoznávání řeči v SrgsDocument případě, že obsahuje relativní odkaz na pravidlo na soubor cities.xml a určuje identifikátor URI, který se má použít k překladu odkazu na pravidlo. Obsah souboru cities.xml se zobrazí v příkladu XML, který následuje za příkladem jazyka 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>

Poznámky

Tento konstruktor nepředává žádné parametry obslužné rutině inicializace a SrgsDocument neměl by obsahovat obslužnou rutinu inicializace, která vyžaduje argumenty.

Tento konstruktor neověřuje baseUri. Metoda objektu SpeechRecognitionEngine nebo objekt SpeechRecognizer však vyvolá výjimku, LoadGrammar pokud nemůže vyřešit všechny odkazy na pravidlo v popisu gramatiky. Pokud baseUri není null, LoadGrammar metoda pomocí identifikátoru URI přeloží všechny odkazy na pravidlo, které nemůže jinak přeložit. Pokud baseUri představuje soubor, pak metoda používá jak určený soubor, LoadGrammar tak adresář souboru při pokusu o vyřešení relativních odkazů na pravidlo.

Důležité

Použití instance tohoto typu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt použijte pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Viz také

Platí pro

Grammar(SrgsDocument, String, Object[])

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy z instance SrgsDocumenta určuje název pravidla, které má být vstupním bodem gramatiky.

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

Instance SrgsDocument , která obsahuje omezení pro gramatiku rozpoznávání řeči.

ruleName
String

Identifikátor pravidla, které se má použít jako vstupní bod gramatiky rozpoznávání řeči, nebo null použít výchozí kořenové pravidlo popisu gramatiky.

parameters
Object[]

Parametry, které se mají předat obslužné rutině inicializace určené OnInit vlastností vstupního bodu nebo kořenového pravidla vytvářeného objektu Grammar . Tento parametr může mít hodnotu null.

Výjimky

  • Libovolný z parametrů obsahuje neplatnou hodnotu.

  • srgsDocument Zadaný SrgsDocument parametr neobsahuje pravidlo určené parametrem ruleName.

  • Obsah parametrů pole neodpovídá argumentům žádných obslužných rutin inicializace pravidla.

Poznámky

Parametry obslužné rutiny inicializace mohou být také zadány.

Platí pro

Grammar(Stream, String, Uri)

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy ze streamu, určuje kořenové pravidlo a definuje základní identifikátor URI (Uniform Resource Identifier) k překladu relativních odkazů na pravidlo.

public:
 Grammar(System::IO::Stream ^ stream, System::String ^ ruleName, Uri ^ baseUri);
public Grammar(System.IO.Stream stream, 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

Stream, který popisuje gramatiku rozpoznávání řeči v podporovaném formátu.

ruleName
String

Identifikátor pravidla, které se má použít jako vstupní bod gramatiky rozpoznávání řeči, nebo null použít výchozí kořenové pravidlo popisu gramatiky.

baseUri
Uri

Základní identifikátor URI, který se použije k překladu jakéhokoli relativního odkazu na pravidlo v popisu gramatiky nebo null.

Výjimky

ruleName nelze rozpoznat nebo není veřejný nebo není veřejný nebo ruleName je null popis gramatiky nedefinuje kořenové pravidlo.

stream je null.

Stream neobsahuje platný popis ani popisuje gramatiku, která obsahuje odkaz na pravidlo, který nelze rozpoznat.

Příklady

Následující příklad načte místní soubor SRGS (shuttle.xml) ze streamu souboru. Soubor obsahuje relativní odkaz na pravidlo v souboru cities.xml a určuje základní identifikátor URI, který se má použít k překladu odkazu na pravidlo. Obsah souborů shuttle.xml a cities.xml se zobrazí v příkladech XML, které následují v příkladu jazyka 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>

Poznámky

Tento konstruktor nepředává žádné parametry obslužné rutině inicializace a popis by neměl definovat obslužnou rutinu inicializace, která vyžaduje argumenty.

Tento konstruktor může vytvořit Grammar instanci z následujících formátů:

Tento konstruktor kompiluje gramatické soubory ve formátu XML do binárního formátu, aby je optimalizoval pro načítání a spotřebu modulem pro rozpoznávání řeči. Pomocí jedné z Grammar metod můžete zkrátit dobu potřebnou k vytvoření Compile objektu z gramatiky ve formátu XML tak, že gramatiku předem zkompilujete.

Tento konstruktor neověřuje baseUri. Metoda objektu SpeechRecognitionEngine nebo objekt SpeechRecognizer však vyvolá výjimku, LoadGrammar pokud nemůže vyřešit všechny odkazy na pravidlo v popisu gramatiky. Pokud baseUri není null, LoadGrammar metoda pomocí identifikátoru URI přeloží všechny odkazy na pravidlo, které nemůže jinak přeložit. Pokud baseUri představuje soubor, použije se LoadGrammar při pokusu o vyřešení relativních odkazů na pravidlo jak určený soubor, tak adresář souboru.

Důležité

Použití instance tohoto typu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt použijte pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Viz také

Platí pro

Grammar(Stream, String, Object[])

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy z a Stream určuje kořenové pravidlo.

public:
 Grammar(System::IO::Stream ^ stream, System::String ^ ruleName, cli::array <System::Object ^> ^ parameters);
public Grammar(System.IO.Stream stream, string? ruleName, 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

Připojený Stream k vstupnímu/výstupnímu objektu (včetně souborů, visualstudio resources a knihoven DLL), který obsahuje specifikaci gramatiky.

ruleName
String

Identifikátor pravidla, které se má použít jako vstupní bod gramatiky rozpoznávání řeči, nebo null použít výchozí kořenové pravidlo popisu gramatiky.

parameters
Object[]

Parametry, které se mají předat obslužné rutině inicializace určené OnInit vlastností vstupního bodu nebo kořenového pravidla vytvářeného objektu Grammar . Tento parametr může mít hodnotu null.

Výjimky

stream je připojen k gramatikě, která:

  • Neobsahuje pravidlo zadané v ruleName

  • Vyžaduje inicializační parametry, které se liší od parametrů zadaných v parameters

  • Obsahuje relativní odkaz na pravidlo, které nelze vyřešit výchozím základním Uri pravidlem pro gramatiky.

Poznámky

Parametry obslužné rutiny inicializace mohou být také zadány.

Platí pro

Grammar(String, String, Object[])

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy ze souboru, který obsahuje definici gramatiky, a určuje název pravidla, které má být vstupním bodem gramatiky.

public:
 Grammar(System::String ^ path, System::String ^ ruleName, cli::array <System::Object ^> ^ parameters);
public Grammar(string path, string? ruleName, 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

Cesta k souboru, včetně knihoven DLL, která obsahuje specifikaci gramatiky.

ruleName
String

Identifikátor pravidla, které se má použít jako vstupní bod gramatiky rozpoznávání řeči, nebo null použít výchozí kořenové pravidlo popisu gramatiky.

parameters
Object[]

Parametry, které se mají předat obslužné rutině inicializace určené OnInit vlastností vstupního bodu nebo kořenového pravidla vytvářeného objektu Grammar . Tento parametr může mít hodnotu null.

Výjimky

  • Libovolný z parametrů obsahuje neplatnou hodnotu.

  • Soubor určený path neobsahuje platnou gramatiku nebo pravidlo zadané v ruleName.

  • Obsah parametrů pole neodpovídá argumentům žádných obslužných rutin inicializace pravidla.

  • Gramatika má relativní odkaz na pravidlo, které nelze vyřešit výchozím základním Uri pravidlem pro gramatiky.

Poznámky

Důležité

Použití instance tohoto typu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt použijte pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Parametry obslužné rutiny inicializace mohou být také zadány.

Platí pro

Grammar(SrgsDocument, String)

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy z objektu SrgsDocument a určuje kořenové pravidlo.

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ srgsDocument, System::String ^ ruleName);
public Grammar(System.Speech.Recognition.SrgsGrammar.SrgsDocument? srgsDocument, 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

Omezení gramatiky rozpoznávání řeči.

ruleName
String

Identifikátor pravidla, které se má použít jako vstupní bod gramatiky rozpoznávání řeči, nebo null použít výchozí kořenové pravidlo SrgsDocument.

Výjimky

ruleName aplikace nemůže být vyřešena nebo není veřejná nebo ruleNamenullsrgsDocument neobsahuje kořenové pravidlo.

srgsDocument je null.

srgsDocument obsahuje odkaz na pravidlo, který nelze přeložit.

Příklady

Následující příklad vytvoří gramatiku rozpoznávání řeči v SrgsDocument instanci a určuje pravidlo, které se použije jako kořenové pravidlo gramatiky. Příklad vytvoří Grammar objekt z SrgsDocument instance a načte ho do modulu pro rozpoznávání řeči.

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

Poznámky

Tento konstruktor nepředává žádné parametry obslužné rutině inicializace a SrgsDocument neměl by obsahovat obslužnou rutinu inicializace, která vyžaduje argumenty.

Chcete-li vytvořit Grammar objekt z SrgsDocument a zadat základní identifikátor URI, který se má použít k překladu relativních odkazů na pravidlo, použijte Grammar konstruktor.

Viz také

Platí pro

Grammar(Stream, String)

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy z a Stream určuje kořenové pravidlo.

public:
 Grammar(System::IO::Stream ^ stream, System::String ^ ruleName);
public Grammar(System.IO.Stream stream, 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

Stream, který popisuje gramatiku rozpoznávání řeči v podporovaném formátu.

ruleName
String

Identifikátor pravidla, které se má použít jako vstupní bod gramatiky rozpoznávání řeči, nebo null použít výchozí kořenové pravidlo popisu gramatiky.

Výjimky

ruleName nelze rozpoznat nebo není veřejný nebo není veřejný nebo ruleName je null popis gramatiky nedefinuje kořenové pravidlo.

stream je null.

Stream neobsahuje platný popis ani popisuje gramatiku, která obsahuje odkaz na pravidlo, který nelze rozpoznat.

Příklady

Následující příklad načte místní soubor SRGS (cities.xml) ze streamu souboru a určuje pravidlo, které se má použít jako kořen gramatiky. Obsah souboru cities.xml se zobrazí v příkladu XML, který následuje za příkladem jazyka 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>

Poznámky

Důležité

Použití instance tohoto typu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt použijte pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Tento konstruktor nepředává žádné parametry obslužné rutině inicializace a popis by neměl definovat obslužnou rutinu inicializace, která vyžaduje argumenty.

Tento konstruktor může vytvořit Grammar instanci z následujících formátů:

Tento konstruktor kompiluje gramatické soubory ve formátu XML do binárního formátu, aby je optimalizoval pro načítání a spotřebu modulem pro rozpoznávání řeči. Pomocí jedné z Grammar metod můžete zkrátit dobu potřebnou k vytvoření Compile objektu z gramatiky ve formátu XML tak, že gramatiku předem zkompilujete.

Chcete-li vytvořit ze streamu Grammar a zadat základní identifikátor URI, který se má použít k překladu relativních odkazů na pravidlo, použijte Grammar konstruktor.

Viz také

Platí pro

Grammar(String)

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy ze souboru.

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

Cesta k souboru, který popisuje gramatiku rozpoznávání řeči v podporovaném formátu.

Výjimky

path obsahuje prázdný řetězec (""), nebo soubor popisuje gramatiku, která neobsahuje kořenové pravidlo.

path je null.

Soubor neobsahuje platný popis nebo popisuje gramatiku, která obsahuje odkaz na pravidlo, který nelze rozpoznat.

Příklady

Následující příklad načte gramatiku rozpoznávání řeči z místního souboru SRGS pro sestavení objektu Grammar . Obsah souboru cities.xml se zobrazí v příkladu XML, který následuje za příkladem jazyka 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>

Poznámky

Důležité

Použití instance tohoto typu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt použijte pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Tento konstruktor nepředává žádné parametry obslužné rutině inicializace a popis by neměl definovat obslužnou rutinu inicializace, která vyžaduje argumenty.

Tento konstruktor může vytvořit Grammar instanci z následujících formátů:

Tento konstruktor kompiluje gramatické soubory ve formátu XML do binárního formátu, aby je optimalizoval pro načítání a spotřebu modulem pro rozpoznávání řeči. Pomocí jedné z Grammar metod můžete zkrátit dobu potřebnou k vytvoření Compile objektu z gramatiky ve formátu XML tak, že gramatiku předem zkompilujete.

Gramatika SRGS může definovat kořenové pravidlo. Chcete-li vytvořit Grammar objekt z řetězce a zadat kořenové pravidlo, použijte Grammar konstruktor.

Chcete-li vytvořit Grammar objekt, který určuje základní identifikátor URI, který se má použít k překladu relativních odkazů na pravidlo, otevřete soubor ve streamu souboru a použijte Grammar.Grammar konstruktor.

Viz také

Platí pro

Grammar(SrgsDocument)

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy z objektu SrgsDocument .

public:
 Grammar(System::Speech::Recognition::SrgsGrammar::SrgsDocument ^ 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)

Parametry

srgsDocument
SrgsDocument

Omezení gramatiky rozpoznávání řeči.

Výjimky

srgsDocument neobsahuje kořenové pravidlo.

srgsDocument je null.

srgsDocument obsahuje odkaz na pravidlo, který nelze přeložit.

Příklady

Následující příklad vytvoří gramatiku rozpoznávání řeči v SrgsDocument instanci, která se pak použije k vytvoření objektu Grammar .

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

Poznámky

Tento konstruktor nepředává žádné parametry obslužné rutině inicializace a SrgsDocument neměl by obsahovat obslužnou rutinu inicializace, která vyžaduje argumenty.

A SrgsDocument může mít kořenové pravidlo. Chcete-li vytvořit Grammar objekt, který určuje kořenové pravidlo, použijte Grammar nebo Grammar konstruktor.

Pokud chcete vytvořit rozpoznávání Grammar řeči z SrgsDocument a zadat základní identifikátor URI, který se má použít k překladu relativních odkazů na pravidlo, použijte Grammar konstruktor.

Viz také

Platí pro

Grammar(String, String)

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy ze souboru a určuje kořenové pravidlo.

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

Cesta k souboru, který popisuje gramatiku rozpoznávání řeči v podporovaném formátu.

ruleName
String

Identifikátor pravidla, které se má použít jako vstupní bod gramatiky rozpoznávání řeči, nebo null použít výchozí kořenové pravidlo popisu gramatiky.

Výjimky

ruleName nelze přeložit nebo není veřejný, path je prázdný řetězec ("") nebo ruleName je null a popis gramatiky nedefinuje kořenové pravidlo.

path je null.

Soubor neobsahuje platný popis nebo popisuje gramatiku, která obsahuje odkaz na pravidlo, který nelze vyřešit.

Příklady

Následující příklad načte místní soubor SRGS (cities.xml) ze souboru a určuje pravidlo, které se má použít jako kořen gramatiky. Obsah souboru cities.xml se zobrazí v příkladu XML, který následuje za příkladem jazyka 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>

Poznámky

Důležité

Použití instance tohoto typu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt použijte pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Tento konstruktor nepředává žádné parametry obslužné rutině inicializace a popis by neměl definovat obslužnou rutinu inicializace, která vyžaduje argumenty.

Tento konstruktor může vytvořit Grammar instanci z následujících formátů:

Tento konstruktor kompiluje gramatické soubory ve formátu XML do binárního formátu, aby je optimalizoval pro načítání a spotřebu modulem pro rozpoznávání řeči. Pomocí jedné z Grammar metod můžete zkrátit dobu potřebnou k vytvoření Compile objektu z gramatiky ve formátu XML tak, že gramatiku předem zkompilujete.

Chcete-li vytvořit Grammar , který určuje základní identifikátor URI, který se má použít k překladu relativních odkazů na pravidlo, otevřete datový proud souboru pro soubor a použijte Grammar konstruktor.

Viz také

Platí pro

Grammar(GrammarBuilder)

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy z objektu 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)

Parametry

builder
GrammarBuilder

Instance GrammarBuilder , která obsahuje omezení pro gramatiku rozpoznávání řeči.

Příklady

Následující příklad vytvoří gramatiku rozpoznávání řeči pomocí Choices objektů a GrammarBuilder objektů. Konstruktor Grammar vytvoří Grammar objekt z objektu 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;
}

Viz také

Platí pro

Grammar(Stream)

Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs
Zdroj:
Grammar.cs

Inicializuje novou instanci Grammar třídy z objektu 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

Stream, který popisuje gramatiku rozpoznávání řeči v podporovaném formátu.

Výjimky

stream popisuje gramatiku, která neobsahuje kořenové pravidlo.

stream je null.

Stream neobsahuje platný popis gramatiky nebo popisuje gramatiku, která obsahuje odkaz na pravidlo, který nelze rozpoznat.

Příklady

Následující příklad vytvoří gramatiku rozpoznávání řeči z místního souboru SRGS (cities.xml) pomocí streamu souboru. Obsah souboru cities.xml se zobrazí v následujícím příkladu v jazyce 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>

Poznámky

Tento konstruktor nepředává žádné parametry obslužné rutině inicializace a popis by neměl definovat obslužnou rutinu inicializace, která vyžaduje argumenty.

Tento konstruktor může vytvořit Grammar instanci z následujících formátů:

Tento konstruktor kompiluje gramatické soubory ve formátu XML do binárního formátu, aby je optimalizoval pro načítání a spotřebu modulem pro rozpoznávání řeči. Pomocí jedné z Grammar metod můžete zkrátit dobu potřebnou k vytvoření Compile objektu z gramatiky ve formátu XML tak, že gramatiku předem zkompilujete.

Gramatika SRGS může definovat kořenové pravidlo. Chcete-li vytvořit Grammar objekt z datového proudu a zadat kořenové pravidlo, použijte GrammarGrammar nebo konstruktor.

Chcete-li vytvořit Grammar objekt z datového proudu a zadat základní identifikátor URI, který se má použít k překladu relativních odkazů na pravidlo, použijte Grammar konstruktor.

Viz také

Platí pro