Grammar Oluşturucular
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Grammar sınıfının yeni bir örneğini başlatır.
Aşırı Yüklemeler
Grammar() |
Grammar sınıfının yeni bir örneğini başlatır. |
Grammar(SrgsDocument, String, Uri, Object[]) |
sınıfının yeni bir örneğini bir örneğinden Grammar SrgsDocumentbaşlatır ve dilbilgisine giriş noktası olacak kuralın adını ve göreli başvuruları çözümlemek için temel URI'yi belirtir. |
Grammar(Stream, String, Uri, Object[]) |
a sınıfının Stream yeni bir örneğini Grammar başlatır ve göreli başvuruları çözümlemek için kök kuralı ve temel URI'yi belirtir. |
Grammar(SrgsDocument, String, Uri) |
Sınıfın Grammar yeni bir örneğini bir SrgsDocument nesneden başlatır, kök kuralı belirtir ve göreli kural başvurularını çözümlemek için bir temel Tekdüzen Kaynak Tanımlayıcısı (URI) tanımlar. |
Grammar(SrgsDocument, String, Object[]) |
sınıfının yeni bir örneğini bir örneğinden Grammar SrgsDocumentbaşlatır ve dil bilgisi giriş noktası olacak kuralın adını belirtir. |
Grammar(Stream, String, Uri) |
Bir akıştan sınıfın Grammar yeni bir örneğini başlatır, kök kuralı belirtir ve göreli kural başvurularını çözümlemek için bir temel Tekdüzen Kaynak Tanımlayıcısı (URI) tanımlar. |
Grammar(Stream, String, Object[]) |
öğesinden Stream sınıfının yeni bir örneğini Grammar başlatır ve bir kök kuralı belirtir. |
Grammar(String, String, Object[]) |
Dil bilgisi tanımı içeren bir dosyadan sınıfının yeni bir örneğini Grammar başlatır ve dil bilgisinin giriş noktası olacak kuralın adını belirtir. |
Grammar(SrgsDocument, String) |
Bir nesneden SrgsDocument sınıfının yeni bir örneğini Grammar başlatır ve bir kök kuralı belirtir. |
Grammar(Stream, String) |
öğesinden Stream sınıfının yeni bir örneğini Grammar başlatır ve bir kök kuralı belirtir. |
Grammar(String) |
Bir dosyadan sınıfının yeni bir örneğini Grammar başlatır. |
Grammar(SrgsDocument) |
Bir nesneden sınıfının yeni bir SrgsDocument örneğini Grammar başlatır. |
Grammar(String, String) |
Bir dosyadan sınıfının yeni bir örneğini Grammar başlatır ve bir kök kuralı belirtir. |
Grammar(GrammarBuilder) |
Bir nesneden sınıfının yeni bir GrammarBuilder örneğini Grammar başlatır. |
Grammar(Stream) |
Açıklamalar
Bir Grammar veya nesnesinden veya bir dosyadan GrammarBuilder SrgsDocument ya da desteklenen biçimde bir dil bilgisi açıklaması içeren bir dosyadan Stream örnek oluşturmak Grammar için bir oluşturucu kullanabilirsiniz. Desteklenen biçimler şunlardır:
W3C Konuşma Tanıma Dil Bilgisi Belirtimi (SRGS) Sürüm 1.0'a uygun XML biçimli dosyalar
.cfg dosya uzantısına sahip bir ikili dosyaya derlenmiş dil bilgisi
Bağımsız değişkenlerinde XML biçimli dil bilgisi dosyalarını kabul eden dil bilgisi oluşturucuları, XML dil bilgisini bir konuşma tanıma altyapısı tarafından yüklenip kullanılmak üzere iyileştirmek üzere ikili biçimde derler. Yöntemlerden birini Compile kullanarak dil bilgisini önceden derleyerek XML biçimindeki bir dil bilgisinden nesne oluşturmak Grammar için gereken süreyi azaltabilirsiniz.
Konuşma tanıma dil bilgisi bir kök kuralı tanımlayabilir. Kök kuralı olarak hangi kuralın kullanılacağını belirten bir Grammar nesne oluşturmak için parametresini ruleName
kabul eden bir oluşturucu kullanın.
Göreli kural başvurularını çözümlemek üzere temel URI'yi belirten bir nesne oluşturmak Grammar için parametresini baseUri
alan bir oluşturucu kullanın.
Grammar()
Grammar sınıfının yeni bir örneğini başlatır.
protected:
Grammar();
protected Grammar ();
Protected Sub New ()
Şunlara uygulanır
Grammar(SrgsDocument, String, Uri, Object[])
sınıfının yeni bir örneğini bir örneğinden Grammar SrgsDocumentbaşlatır ve dilbilgisine giriş noktası olacak kuralın adını ve göreli başvuruları çözümlemek için temel URI'yi belirtir.
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())
Parametreler
- srgsDocument
- SrgsDocument
Konuşma tanıma dil bilgisi kısıtlamalarını içeren bir örneği SrgsDocument .
- ruleName
- String
Konuşma tanıma dil bilgisinin giriş noktası olarak veya dil bilgisi null
açıklamasının varsayılan kök kuralını kullanmak için kullanılacak kuralın tanımlayıcısı.
- baseUri
- Uri
Dil bilgisi açıklamasındaki veya null
içindeki göreli kural başvurularını çözümlemek için kullanılacak temel URI.
- parameters
- Object[]
Giriş noktası veya oluşturulacak kök kuralı Grammar için özelliği tarafından OnInit belirtilen başlatma işleyicisine geçirilecek parametreler. Bu parametre null olabilir.
Özel durumlar
Parametrelerden herhangi biri geçersiz bir değer içeriyor.
tarafından SrgsDocument belirtilen
srgsDocument
, içinderuleName
belirtilen kuralı içermiyor.Dizi parametrelerinin içeriği, kuralın başlatma işleyicilerinden herhangi birinin bağımsız değişkenleriyle eşleşmiyor.
Dil bilgisi, dil bilgisi için varsayılan temel Uri kural veya tarafından
baseUri
sağlanan URI ile çözümlenemeyen göreli bir kural başvurusuna sahiptir.
Açıklamalar
Başlatma işleyicisi için parametreler de belirtilebilir.
Şunlara uygulanır
Grammar(Stream, String, Uri, Object[])
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())
Parametreler
- stream
- Stream
Dil Stream bilgisi belirtimi içeren bir giriş/çıkış nesnesine (dosyalar, VisualStudio Kaynakları ve DLL'ler dahil) bağlı.
- ruleName
- String
Konuşma tanıma dil bilgisinin giriş noktası olarak veya dil bilgisi null
açıklamasının varsayılan kök kuralını kullanmak için kullanılacak kuralın tanımlayıcısı.
- baseUri
- Uri
Dil bilgisi açıklamasındaki veya null
içindeki göreli kural başvurularını çözümlemek için kullanılacak temel URI.
- parameters
- Object[]
Giriş noktası veya oluşturulacak kök kuralı Grammar için özelliği tarafından OnInit belirtilen başlatma işleyicisine geçirilecek parametreler. Bu parametre null olabilir.
Özel durumlar
Parametrelerden herhangi biri geçersiz bir değer içeriyor.
tarafından
stream
belirtilenruleName
kuralı içermeyen bir dil bilgisi ile bağlantılıdır.Dizi parametrelerinin içeriği, kuralın başlatma işleyicilerinden herhangi birinin bağımsız değişkenleriyle eşleşmiyor.
Dil bilgisi, dil bilgisi için varsayılan temel Uri kural veya tarafından
baseUri
sağlanan URI ile çözümlenemeyen göreli bir kural başvurusu içerir.
Açıklamalar
Başlatma işleyicisi için parametreler de belirtilebilir.
Şunlara uygulanır
Grammar(SrgsDocument, String, Uri)
Sınıfın Grammar yeni bir örneğini bir SrgsDocument nesneden başlatır, kök kuralı belirtir ve göreli kural başvurularını çözümlemek için bir temel Tekdüzen Kaynak Tanımlayıcısı (URI) tanımlar.
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)
Parametreler
- srgsDocument
- SrgsDocument
Konuşma tanıma dil bilgisi kısıtlamaları.
- ruleName
- String
Konuşma tanıma dil bilgisinin giriş noktası olarak veya null
varsayılan kök kuralını kullanmak için kullanılacak kuralın SrgsDocumenttanımlayıcısı.
- baseUri
- Uri
veya null
içindeki göreli kural başvurularını SrgsDocumentçözümlemek için kullanılacak temel URI.
Özel durumlar
ruleName
çözümlenemiyor veya genel değil ya da ruleName
null
kök kuralı içeriyor ve srgsDocument
içermiyor.
srgsDocument
, null
değeridir.
srgsDocument
çözümlenemeyen bir kural başvurusu içerir.
Örnekler
Aşağıdaki örnek, cities.xml dosyasına göreli kural başvurusu içeren bir SrgsDocument konuşma tanıma dil bilgisi oluşturur ve kural başvuruyu çözümlemek için kullanılacak URI'yi belirtir. cities.xml dosyasının içeriği, C# örneğinden sonra gelen XML örneğinde görünür.
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>
Açıklamalar
Bu oluşturucu başlatma işleyicisine herhangi bir parametre geçirmez ve SrgsDocument bağımsız değişkenler gerektiren bir başlatma işleyicisi içermemelidir.
Bu oluşturucu doğrulamaz baseUri
. Ancak, bir SpeechRecognitionEngine veya SpeechRecognizer nesnesinin LoadGrammar
yöntemi, dil bilgisi açıklamasındaki tüm kural başvurularını çözümleyemediğinde bir özel durum oluşturur. null
değilse baseUri
yöntemi, LoadGrammar
aksi takdirde çözümleyemediği tüm kural başvurularını çözümlemek için URI'yi kullanır. Bir baseUri
dosyayı temsil ederse, LoadGrammar
yöntem göreli kural başvurularını çözümlemeye çalıştığında hem belirlenen dosyayı hem de dosyanın dizinini kullanır.
Ayrıca bkz.
- System.Speech.Recognition.SrgsGrammar
- SrgsDocument
- SpeechRecognitionEngine
- SpeechRecognizer
- Konuşma Tanıma Dil Bilgisi Belirtimi
Şunlara uygulanır
Grammar(SrgsDocument, String, Object[])
sınıfının yeni bir örneğini bir örneğinden Grammar SrgsDocumentbaşlatır ve dil bilgisi giriş noktası olacak kuralın adını belirtir.
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())
Parametreler
- srgsDocument
- SrgsDocument
Konuşma tanıma dil bilgisi kısıtlamalarını içeren bir örneği SrgsDocument .
- ruleName
- String
Konuşma tanıma dil bilgisinin giriş noktası olarak veya dil bilgisi null
açıklamasının varsayılan kök kuralını kullanmak için kullanılacak kuralın tanımlayıcısı.
- parameters
- Object[]
Giriş noktası veya oluşturulacak kök kuralı Grammar için özelliği tarafından OnInit belirtilen başlatma işleyicisine geçirilecek parametreler. Bu parametre null olabilir.
Özel durumlar
Parametrelerden herhangi biri geçersiz bir değer içeriyor.
tarafından SrgsDocument belirtilen
srgsDocument
, tarafındanruleName
belirtilen kuralı içermiyor.Dizi parametrelerinin içeriği, kuralın başlatma işleyicilerinden herhangi birinin bağımsız değişkenleriyle eşleşmiyor.
Açıklamalar
Başlatma işleyicisi için parametreler de belirtilebilir.
Şunlara uygulanır
Grammar(Stream, String, Uri)
Bir akıştan sınıfın Grammar yeni bir örneğini başlatır, kök kuralı belirtir ve göreli kural başvurularını çözümlemek için bir temel Tekdüzen Kaynak Tanımlayıcısı (URI) tanımlar.
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)
Parametreler
- stream
- Stream
Konuşma tanıma dil bilgisini desteklenen biçimde açıklayan akış.
- ruleName
- String
Konuşma tanıma dil bilgisinin giriş noktası olarak veya dil bilgisi null
açıklamasının varsayılan kök kuralını kullanmak için kullanılacak kuralın tanımlayıcısı.
- baseUri
- Uri
Dil bilgisi açıklamasındaki veya null
içindeki göreli kural başvurularını çözümlemek için kullanılacak temel URI.
Özel durumlar
ruleName
çözümlenemiyor veya genel değil ya da değil null
ve ruleName
dil bilgisi açıklaması bir kök kuralı tanımlamaz.
stream
, null
değeridir.
Akış geçerli bir açıklama içermiyor veya çözümlenemeyen bir kural başvurusu içeren bir dil bilgisi tanımlıyor.
Örnekler
Aşağıdaki örnek, bir dosya akışından yerel bir SRGS dosyası (shuttle.xml) yükler. Dosya, cities.xml dosyasındaki bir kurala göreli bir kural başvurusu içerir ve kural başvuruyu çözümlemek için kullanılacak temel URI'yi belirtir. shuttle.xml ve cities.xml dosyalarının içeriği, C# örneğinden sonra gelen XML örneklerinde görünür.
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>
Açıklamalar
Bu oluşturucu başlatma işleyicisine hiçbir parametre geçirmez ve açıklama bağımsız değişkenler gerektiren bir başlatma işleyicisi tanımlamamalıdır.
Bu oluşturucu aşağıdaki biçimlerden bir Grammar örnek oluşturabilir:
W3C Konuşma Tanıma Dil Bilgisi Belirtimi (SRGS) Sürüm 1.0'a uyan XML biçimli dosyalar
.cfg dosya uzantısına sahip ikili dosyaya derlenmiş dil bilgisi
Bu oluşturucu, XML biçimli dil bilgisi dosyalarını bir konuşma tanıma altyapısı tarafından yüklenip tüketilirken en iyi duruma getirmek için ikili biçimde derler. Xml biçimindeki dil bilgisinden nesne Grammar oluşturmak için gereken süreyi azaltmak için dil bilgisini önceden derleyebilir ve yöntemlerden birini Compile kullanabilirsiniz.
Bu oluşturucu doğrulamaz baseUri
. Ancak, bir SpeechRecognitionEngine veya SpeechRecognizer nesnesinin LoadGrammar
yöntemi, dil bilgisi açıklamasındaki tüm kural başvurularını çözümleyemediğinde bir özel durum oluşturur. null
değilse baseUri
yöntemi, LoadGrammar
aksi takdirde çözümleyemediği tüm kural başvurularını çözümlemek için URI'yi kullanır. baseUri
Bir dosyayı temsil ederse, LoadGrammar
göreli kural başvurularını çözümlemeye çalıştığında hem belirlenen dosyayı hem de dosyanın dizinini kullanır.
Ayrıca bkz.
Şunlara uygulanır
Grammar(Stream, String, Object[])
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())
Parametreler
- stream
- Stream
Dil Stream bilgisi belirtimi içeren bir giriş/çıkış nesnesine (dosyalar, VisualStudio Kaynakları ve DLL'ler dahil) bağlı.
- ruleName
- String
Konuşma tanıma dil bilgisinin giriş noktası olarak veya dil bilgisi null
açıklamasının varsayılan kök kuralını kullanmak için kullanılacak kuralın tanımlayıcısı.
- parameters
- Object[]
Giriş noktası veya oluşturulacak kök kuralı Grammar için özelliği tarafından OnInit belirtilen başlatma işleyicisine geçirilecek parametreler. Bu parametre null olabilir.
Özel durumlar
stream
, şu dil bilgisiyle bağlantılıdır:
içinde belirtilen kuralı içermez
ruleName
Içinde belirtilenlerden farklı başlatma parametreleri gerektirir
parameters
Dil bilgisi için varsayılan temel Uri kural tarafından çözümlenemeyen göreli bir kural başvurusu içerir.
Açıklamalar
Başlatma işleyicisi için parametreler de belirtilebilir.
Şunlara uygulanır
Grammar(String, String, Object[])
Dil bilgisi tanımı içeren bir dosyadan sınıfının yeni bir örneğini Grammar başlatır ve dil bilgisinin giriş noktası olacak kuralın adını belirtir.
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())
Parametreler
- path
- String
Dil bilgisi belirtimi içeren DLL'ler de dahil olmak üzere bir dosyanın yolu.
- ruleName
- String
Konuşma tanıma dil bilgisinin giriş noktası olarak veya dil bilgisi null
açıklamasının varsayılan kök kuralını kullanmak için kullanılacak kuralın tanımlayıcısı.
- parameters
- Object[]
Giriş noktası veya oluşturulacak kök kuralı Grammar için özelliği tarafından OnInit belirtilen başlatma işleyicisine geçirilecek parametreler. Bu parametre null olabilir.
Özel durumlar
Parametrelerden herhangi biri geçersiz bir değer içeriyor.
tarafından
path
belirtilen dosya geçerli bir dil bilgisi veya içinderuleName
belirtilen kuralı içermiyor.Dizi parametrelerinin içeriği, kuralın başlatma işleyicilerinden herhangi birinin bağımsız değişkenleriyle eşleşmiyor.
Dil bilgisi, dil bilgisi için varsayılan temel Uri kural tarafından çözümlenemeyen göreli bir kural başvurusuna sahiptir.
Açıklamalar
Başlatma işleyicisi için parametreler de belirtilebilir.
Şunlara uygulanır
Grammar(SrgsDocument, String)
Bir nesneden SrgsDocument sınıfının yeni bir örneğini Grammar başlatır ve bir kök kuralı belirtir.
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)
Parametreler
- srgsDocument
- SrgsDocument
Konuşma tanıma dil bilgisi kısıtlamaları.
- ruleName
- String
Konuşma tanıma dil bilgisinin null
giriş noktası olarak veya varsayılan kök kuralını kullanmak için kullanılacak kuralın SrgsDocumenttanımlayıcısı.
Özel durumlar
ruleName
çözümlenemiyor veya genel değil ya da ruleName
null
kök kuralı içeriyor ve srgsDocument
içermiyor.
srgsDocument
, null
değeridir.
srgsDocument
çözümlenemeyen bir kural başvurusu içerir.
Örnekler
Aşağıdaki örnek, bir SrgsDocument örnekte konuşma tanıma dil bilgisi oluşturur ve dil bilgisinin kök kuralı olarak kullanılacak bir kural belirtir. Örnek, örnekten SrgsDocument bir Grammar nesne oluşturur ve bunu konuşma tanıma altyapısına yükler.
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);
}
}
}
Açıklamalar
Bu oluşturucu başlatma işleyicisine hiçbir parametre geçirmez ve SrgsDocument bağımsız değişkenler gerektiren bir başlatma işleyicisi içermemelidir.
bir nesnesi SrgsDocument oluşturmak Grammar ve göreli kural başvurularını çözümlemek için kullanılacak temel URI'yi belirtmek için oluşturucuyu Grammar kullanın.
Ayrıca bkz.
- System.Speech.Recognition.SrgsGrammar
- SrgsDocument
- SpeechRecognizer
- SpeechRecognitionEngine
- Konuşma Tanıma Dil Bilgisi Belirtimi
Şunlara uygulanır
Grammar(Stream, String)
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)
Parametreler
- stream
- Stream
Konuşma tanıma dil bilgisini desteklenen bir biçimde açıklayan akış.
- ruleName
- String
Konuşma tanıma dil bilgisinin giriş noktası olarak veya dil bilgisi null
açıklamasının varsayılan kök kuralını kullanmak için kullanılacak kuralın tanımlayıcısı.
Özel durumlar
ruleName
çözümlenemiyor veya genel değil ya da ruleName
öyle null
ve dil bilgisi açıklaması bir kök kuralı tanımlamaz.
stream
, null
değeridir.
Akış geçerli bir açıklama içermiyor veya çözümlenemeyen bir kural başvurusu içeren bir dil bilgisi tanımlıyor.
Örnekler
Aşağıdaki örnek, bir dosya akışından yerel bir SRGS dosyasını (cities.xml) yükler ve dil bilgisinin kökü olarak kullanılacak kuralı belirtir. cities.xml dosyasının içeriği, C# örneğinden sonra gelen XML örneğinde görünür.
// 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>
Açıklamalar
Bu oluşturucu başlatma işleyicisine herhangi bir parametre geçirmez ve açıklama, bağımsız değişkenler gerektiren bir başlatma işleyicisi tanımlamamalıdır.
Bu oluşturucu aşağıdaki biçimlerden bir Grammar örnek oluşturabilir:
W3C Konuşma Tanıma Dil Bilgisi Belirtimi (SRGS) Sürüm 1.0'a uygun XML biçimli dosyalar
.cfg dosya uzantısına sahip bir ikili dosyaya derlenmiş dil bilgisi
Bu oluşturucu, XML biçimli dil bilgisi dosyalarını bir konuşma tanıma altyapısı tarafından yüklenme ve tüketim için en iyi duruma getirmek üzere ikili biçimde derler. Yöntemlerden birini Compile kullanarak dil bilgisini önceden derleyerek XML biçimindeki bir dil bilgisinden nesne oluşturmak Grammar için gereken süreyi azaltabilirsiniz.
Bir akıştan bir Grammar oluşturmak ve göreli kural başvurularını çözümlemek için kullanılacak temel URI'yi belirtmek için oluşturucuyu Grammar kullanın.
Ayrıca bkz.
Şunlara uygulanır
Grammar(String)
Bir dosyadan sınıfının yeni bir örneğini Grammar başlatır.
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)
Parametreler
- path
- String
Konuşma tanıma dil bilgisini desteklenen biçimde açıklayan dosyanın yolu.
Özel durumlar
path
boş dizeyi ("") içerir veya dosya kök kuralı içermeyen bir dil bilgisini açıklar.
path
, null
değeridir.
Dosya geçerli bir açıklama içermiyor veya çözümlenemeyen bir kural başvurusu içeren bir dil bilgisi açıklıyor.
Örnekler
Aşağıdaki örnek, nesne oluşturmak Grammar için yerel bir SRGS dosyasından konuşma tanıma dil bilgisini yükler. cities.xml dosyasının içeriği, C# örneğinden sonra gelen XML örneğinde görünür.
// 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>
Açıklamalar
Bu oluşturucu başlatma işleyicisine herhangi bir parametre geçirmez ve açıklama, bağımsız değişkenler gerektiren bir başlatma işleyicisi tanımlamamalıdır.
Bu oluşturucu aşağıdaki biçimlerden bir Grammar örnek oluşturabilir:
W3C Konuşma Tanıma Dil Bilgisi Belirtimi (SRGS) Sürüm 1.0'a uygun XML biçimli dosyalar
.cfg dosya uzantısına sahip bir ikili dosyaya derlenmiş dil bilgisi
Bu oluşturucu, XML biçimli dil bilgisi dosyalarını bir konuşma tanıma altyapısı tarafından yüklenme ve tüketim için en iyi duruma getirmek üzere ikili biçimde derler. Yöntemlerden birini Compile kullanarak dil bilgisini önceden derleyerek XML biçimindeki bir dil bilgisinden nesne oluşturmak Grammar için gereken süreyi azaltabilirsiniz.
SRGS dil bilgisi bir kök kuralı tanımlayabilir. Bir Grammar dizeden nesne oluşturmak ve kök kuralı belirtmek için oluşturucuyu Grammar kullanın.
Göreli kural başvurularını çözümlemek için kullanılacak temel URI'yi belirten bir Grammar nesne oluşturmak için dosyayı bir dosya akışında açın ve oluşturucuyu Grammar.Grammar kullanın.
Ayrıca bkz.
Şunlara uygulanır
Grammar(SrgsDocument)
Bir nesneden sınıfının yeni bir SrgsDocument örneğini Grammar başlatır.
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)
Parametreler
- srgsDocument
- SrgsDocument
Konuşma tanıma dil bilgisi kısıtlamaları.
Özel durumlar
srgsDocument
kök kuralı içermez.
srgsDocument
, null
değeridir.
srgsDocument
çözümlenemeyen bir kural başvurusu içerir.
Örnekler
Aşağıdaki örnek, bir örnekte bir nesne oluşturmak Grammar için kullanılan bir SrgsDocument konuşma tanıma dil bilgisi oluşturur.
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;
}
Açıklamalar
Bu oluşturucu başlatma işleyicisine hiçbir parametre geçirmez ve SrgsDocument bağımsız değişkenler gerektiren bir başlatma işleyicisi içermemelidir.
bir SrgsDocument kök kuralına sahip olabilir. Kök kuralı belirten bir Grammar nesne oluşturmak için veya Grammar oluşturucuyu Grammar kullanın.
'den SrgsDocument bir konuşma tanıma Grammar oluşturmak ve göreli kural başvurularını çözümlemek için kullanılacak temel URI'yi belirtmek için oluşturucuyu Grammar kullanın.
Ayrıca bkz.
- System.Speech.Recognition.SrgsGrammar
- SrgsDocument
- SpeechRecognizer
- SpeechRecognitionEngine
- Konuşma Tanıma Dil Bilgisi Belirtimi
Şunlara uygulanır
Grammar(String, String)
Bir dosyadan sınıfının yeni bir örneğini Grammar başlatır ve bir kök kuralı belirtir.
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)
Parametreler
- path
- String
Konuşma tanıma dil bilgisini desteklenen biçimde açıklayan dosyanın yolu.
- ruleName
- String
Konuşma tanıma dil bilgisinin giriş noktası olarak veya dil bilgisi null
açıklamasının varsayılan kök kuralını kullanmak için kullanılacak kuralın tanımlayıcısı.
Özel durumlar
ruleName
çözümlenemiyor veya genel değil, path
boş dize ("") veya ruleName
is null
ve dil bilgisi açıklaması bir kök kural tanımlamaz.
path
, null
değeridir.
Dosya geçerli bir açıklama içermiyor veya çözümlenemeyen bir kural başvurusu içeren dil bilgisini açıklıyor.
Örnekler
Aşağıdaki örnek bir dosyadan bir yerel SRGS dosyası (cities.xml) yükler ve dil bilgisinin kökü olarak kullanılacak bir kural belirtir. cities.xml dosyasının içeriği, C# örneğinden sonra gelen XML örneğinde görünür.
// 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>
Açıklamalar
Bu oluşturucu başlatma işleyicisine hiçbir parametre geçirmez ve açıklama bağımsız değişkenler gerektiren bir başlatma işleyicisi tanımlamamalıdır.
Bu oluşturucu aşağıdaki biçimlerden bir Grammar örnek oluşturabilir:
W3C Konuşma Tanıma Dil Bilgisi Belirtimi (SRGS) Sürüm 1.0'a uyan XML biçimli dosyalar
.cfg dosya uzantısına sahip ikili dosyaya derlenmiş dil bilgisi
Bu oluşturucu, XML biçimli dil bilgisi dosyalarını bir konuşma tanıma altyapısı tarafından yüklenip tüketilirken en iyi duruma getirmek için ikili biçimde derler. Xml biçimindeki dil bilgisinden nesne Grammar oluşturmak için gereken süreyi azaltmak için dil bilgisini önceden derleyebilir ve yöntemlerden birini Compile kullanabilirsiniz.
Göreli kural başvurularını çözümlemek için kullanılacak temel URI'yi belirten bir oluşturmak Grammar için, dosya için bir dosya akışı açın ve oluşturucuyu Grammar kullanın.
Ayrıca bkz.
Şunlara uygulanır
Grammar(GrammarBuilder)
Bir nesneden sınıfının yeni bir GrammarBuilder örneğini Grammar başlatır.
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)
Parametreler
- builder
- GrammarBuilder
Konuşma tanıma dil bilgisi kısıtlamalarını içeren örneği GrammarBuilder .
Örnekler
Aşağıdaki örnek, ve GrammarBuilder nesnelerini kullanarak Choices bir konuşma tanıma dil bilgisi oluşturur. Oluşturucu, Grammar nesneden GrammarBuilder bir Grammar nesne oluşturur.
// 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;
}
Ayrıca bkz.
Şunlara uygulanır
Grammar(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)
Parametreler
- stream
- Stream
Konuşma tanıma dil bilgisini desteklenen bir biçimde açıklayan akış.
Özel durumlar
stream
kök kuralı içermeyen bir dil bilgisi açıklar.
stream
, null
değeridir.
Akış, dil bilgisinin geçerli bir açıklamasını içermez veya çözümlenemeyen bir kural başvurusu içeren bir dil bilgisini açıklar.
Örnekler
Aşağıdaki örnek, bir dosya akışı kullanarak yerel bir SRGS dosyasından (cities.xml) konuşma tanıma dil bilgisi oluşturur. cities.xml dosyasının içeriği C# örneğinden sonra görüntülenir.
// 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>
Açıklamalar
Bu oluşturucu başlatma işleyicisine herhangi bir parametre geçirmez ve açıklama, bağımsız değişkenler gerektiren bir başlatma işleyicisi tanımlamamalıdır.
Bu oluşturucu aşağıdaki biçimlerden bir Grammar örnek oluşturabilir:
W3C Konuşma Tanıma Dil Bilgisi Belirtimi (SRGS) Sürüm 1.0'a uygun XML biçimli dosyalar
.cfg dosya uzantısına sahip bir ikili dosyaya derlenmiş dil bilgisi
Bu oluşturucu, XML biçimli dil bilgisi dosyalarını bir konuşma tanıma altyapısı tarafından yüklenme ve tüketim için en iyi duruma getirmek üzere ikili biçimde derler. Yöntemlerden birini Compile kullanarak dil bilgisini önceden derleyerek XML biçimindeki bir dil bilgisinden nesne oluşturmak Grammar için gereken süreyi azaltabilirsiniz.
SRGS dil bilgisi bir kök kuralı tanımlayabilir. Bir akıştan nesne oluşturmak Grammar ve kök kuralı belirtmek için veya Grammar oluşturucuyu Grammar kullanın.
Bir akıştan nesne Grammar oluşturmak ve göreli kural başvurularını çözümlemek için kullanılacak temel URI'yi belirtmek için oluşturucuyu Grammar kullanın.