Język

Grammar Konstruktory

Definicja

Inicjuje nowe wystąpienie klasy Grammar.

Przeciążenia

Nazwa Opis
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 jako punkt wejścia do gramatyki i podstawowy identyfikator URI do rozpoznawania odwołań względnych.

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

Inicjuje nowe wystąpienie Grammar klasy a Stream i określa regułę główną i 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) w celu rozpoznania odwołań 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) w celu rozpoznania odwołań do reguł względnych.

Grammar(Stream, String, Object[])

Inicjuje nowe wystąpienie Grammar 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ę gramatyczną i określa nazwę reguły jako punkt wejścia do gramatyki.

Grammar(SrgsDocument, String)

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

Grammar(Stream, String)

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

Grammar(String)

Inicjuje nowe wystąpienie Grammar klasy z pliku.

Grammar(SrgsDocument)

Inicjuje nowe wystąpienie Grammar klasy z SrgsDocument obiektu.

Grammar(String, String)

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

Grammar(GrammarBuilder)

Inicjuje nowe wystąpienie Grammar klasy z GrammarBuilder obiektu.

Grammar(Stream)

Inicjuje nowe wystąpienie Grammar klasy z klasy Stream.

Uwagi

Można użyć konstruktora Grammar , aby utworzyć Grammar wystąpienie na podstawie GrammarBuilder obiektu lub SrgsDocument lub pliku lub, Stream który zawiera 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, skompilują 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 utworzenia 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, użyj konstruktora, który akceptuje ruleName parametr.

Aby utworzyć Grammar obiekt określający podstawowy identyfikator URI w celu rozpoznania 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
Ź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
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar klasy z wystąpienia SrgsDocumentklasy i określa nazwę reguły jako punkt wejścia do gramatyki i podstawowy identyfikator URI do rozpoznawania 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);
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 programu SrgsDocument zawiera ograniczenia dotyczące gramatyki rozpoznawania mowy.

ruleName
String

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

baseUri
Uri

Podstawowy identyfikator URI używany do rozpoznawania wszelkich względnych odwołań do reguł w opisie gramatycznym lub null.

parameters
Object[]

Parametry do przekazania 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. Ten 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 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ć za pomocą domyślnej reguły podstawowej Uri dla gramatyki lub identyfikatora URI dostarczonego przez baseUriprogram .

Uwagi

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

Ważna

Użycie wystąpienia tego typu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Validate All Inputs.

Dotyczy

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

Źródło:
Grammar.cs
Ź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ą i 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);
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 do używania domyślnej reguły głównej opisu gramatyki.

baseUri
Uri

Podstawowy identyfikator URI używany do rozpoznawania wszelkich względnych odwołań do reguł w opisie gramatycznym lub null.

parameters
Object[]

Parametry do przekazania 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. Ten 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ć za pomocą domyślnej reguły podstawowej Uri dla gramatyki lub identyfikatora URI dostarczonego przez baseUriprogram .

Uwagi

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

Ważna

Użycie wystąpienia tego typu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Validate All Inputs.

Dotyczy

Grammar(SrgsDocument, String, Uri)

Źródło:
Grammar.cs
Ź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) w celu rozpoznania odwołań 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);
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 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 do używania domyślnej reguły głównej elementu SrgsDocument.

baseUri
Uri

Podstawowy identyfikator URI używany do rozpoznawania odwołania do dowolnej względnej reguły w elemencie SrgsDocument, lub null.

Wyjątki

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

Parametr srgsDocument ma wartość 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 obiekcie SrgsDocument zawierającym względne odwołanie reguły 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 LoadGrammar obiektu lub SpeechRecognitionEngine zgłasza wyjątek, SpeechRecognizer jeśli nie może rozpoznać wszystkich odwołań do reguły w opisie gramatyki. Jeśli baseUri nie nulljest , 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ły względnej.

Ważna

Użycie wystąpienia tego typu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Validate All Inputs.

Zobacz też

Dotyczy

Grammar(SrgsDocument, String, Object[])

Źródło:
Grammar.cs
Ź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);
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 programu SrgsDocument zawiera ograniczenia dotyczące gramatyki rozpoznawania mowy.

ruleName
String

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

parameters
Object[]

Parametry do przekazania 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. Ten 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
Ź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) w celu rozpoznania odwołań 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);
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 do używania domyślnej reguły głównej opisu gramatyki.

baseUri
Uri

Podstawowy identyfikator URI używany do rozpoznawania wszelkich względnych odwołań do reguł 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.

Parametr stream ma wartość null.

Strumień 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 (shuttle.xml) ze strumienia plików. Plik zawiera względne odwołanie reguły do reguły 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 z następujących formatów:

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 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 LoadGrammar obiektu lub SpeechRecognitionEngine zgłasza wyjątek, SpeechRecognizer jeśli nie może rozpoznać wszystkich odwołań do reguły w opisie gramatyki. Jeśli baseUri nie nulljest , 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, użyje LoadGrammar zarówno wyznaczonego pliku, jak i katalogu pliku podczas próby rozpoznania odwołań do reguły względnej.

Ważna

Użycie wystąpienia tego typu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Validate All Inputs.

Zobacz też

Dotyczy

Grammar(Stream, String, Object[])

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

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

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 do używania domyślnej reguły głównej opisu gramatyki.

parameters
Object[]

Parametry do przekazania 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. Ten 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ż te 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 procedury obsługi inicjowania.

Dotyczy

Grammar(String, String, Object[])

Źródło:
Grammar.cs
Ź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ę gramatyczną 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);
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 do użycia jako punkt wejścia gramatyki rozpoznawania mowy lub null do używania domyślnej reguły głównej opisu gramatyki.

parameters
Object[]

Parametry do przekazania 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. Ten 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 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łę podstawową Uri dla gramatyki.

Uwagi

Ważna

Użycie wystąpienia tego typu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Validate All Inputs.

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

Dotyczy

Grammar(SrgsDocument, String)

Źródło:
Grammar.cs
Ź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);
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 do używania domyślnej reguły głównej elementu SrgsDocument.

Wyjątki

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

Parametr srgsDocument ma wartość 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 i określa regułę używaną 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
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar 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);
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 do użycia 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 null i opis gramatyki nie definiuje reguły głównej.

Parametr stream ma wartość null.

Strumień 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) ze strumienia plików i określa regułę używaną jako katalog główny gramatyki. Zawartość pliku cities.xml jest wyświetlana 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

Ważna

Użycie wystąpienia tego typu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Validate All Inputs.

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 z następujących formatów:

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 utworzenia 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 używany 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
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar 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.

Parametr path ma wartość 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 gramatykę rozpoznawania mowy z lokalnego pliku SRGS w celu skompilowania Grammar obiektu. Zawartość pliku cities.xml jest wyświetlana 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

Ważna

Użycie wystąpienia tego typu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Validate All Inputs.

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 z następujących formatów:

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 utworzenia 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 określający podstawowy identyfikator URI używany 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
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar klasy z SrgsDocument obiektu.

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

Ograniczenia dotyczące gramatyki rozpoznawania mowy.

Wyjątki

srgsDocument nie zawiera reguły głównej.

Parametr srgsDocument ma wartość 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óry jest następnie używany 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.

Reguła SrgsDocument główna 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 w celu 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
Ź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 do użycia 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.

Parametr path ma wartość 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łę używaną jako katalog główny gramatyki. Zawartość pliku cities.xml jest wyświetlana 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

Ważna

Użycie wystąpienia tego typu z niezaufanymi danymi jest zagrożeniem bezpieczeństwa. Użyj tego obiektu tylko z zaufanymi danymi. Aby uzyskać więcej informacji, zobacz Validate All Inputs.

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 z następujących formatów:

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 utworzenia 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
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar 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 programu GrammarBuilder 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 z 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
Źródło:
Grammar.cs

Inicjuje nowe wystąpienie Grammar 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.

Parametr stream ma wartość null.

Strumień nie zawiera prawidłowego opisu gramatyki lub opisuje gramatykę zawierającą odwołanie do reguły, których 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 z następujących formatów:

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 utworzenia 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 używany do rozpoznawania odwołań do reguł względnych, użyj konstruktora Grammar .

Zobacz też

Dotyczy