Grammar Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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) |
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:
Pliki w formacie XML zgodne z specyfikacją gramatyki rozpoznawania mowy W3C (SRGS) w wersji 1.0
Gramatyki, które zostały skompilowane do pliku binarnego z rozszerzeniem pliku cfg
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 wruleName
elemecie .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
baseUri
program .
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
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 przezruleName
.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
baseUri
program .
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 null
jest 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ż
- System.Speech.Recognition.SrgsGrammar
- SrgsDocument
- SpeechRecognitionEngine
- SpeechRecognizer
- Specyfikacja gramatyki rozpoznawania mowy
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 przezruleName
.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:
Pliki w formacie XML zgodne z specyfikacją gramatyki rozpoznawania mowy W3C (SRGS) w wersji 1.0
Gramatyki skompilowane do pliku binarnego z rozszerzeniem pliku cfg
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 null
jest 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
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 plikuruleName
.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ż
- System.Speech.Recognition.SrgsGrammar
- SrgsDocument
- SpeechRecognizer
- SpeechRecognitionEngine
- Specyfikacja gramatyki rozpoznawania mowy
Dotyczy
Grammar(Stream, String)
- Źródło:
- Grammar.cs
- Źródło:
- Grammar.cs
- Źródło:
- Grammar.cs
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:
Pliki w formacie XML zgodne z specyfikacją gramatyki rozpoznawania mowy W3C (SRGS) w wersji 1.0
Gramatyki, które zostały skompilowane do pliku binarnego z rozszerzeniem pliku cfg
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:
Pliki w formacie XML zgodne z specyfikacją gramatyki rozpoznawania mowy W3C (SRGS) w wersji 1.0
Gramatyki, które zostały skompilowane do pliku binarnego z rozszerzeniem pliku cfg
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ż
- System.Speech.Recognition.SrgsGrammar
- SrgsDocument
- SpeechRecognizer
- SpeechRecognitionEngine
- Specyfikacja gramatyki rozpoznawania mowy
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:
Pliki w formacie XML zgodne z specyfikacją gramatyki rozpoznawania mowy W3C (SRGS) w wersji 1.0
Gramatyki, które zostały skompilowane do pliku binarnego z rozszerzeniem pliku cfg
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
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:
Pliki w formacie XML zgodne z specyfikacją gramatyki rozpoznawania mowy W3C (SRGS) w wersji 1.0
Gramatyki, które zostały skompilowane do pliku binarnego z rozszerzeniem pliku cfg
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 .