Aracılığıyla paylaş


Grammar Oluşturucular

Tanım

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)

sınıfından Grammar Streamyeni bir örneğini başlatır.

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:

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 nulliç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çinde ruleNamebelirtilen 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 baseUrisağ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[])

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.

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 nulliç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 belirtilen ruleNamekuralı 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 baseUrisağ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 nulliç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. nulldeğ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.

Ş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ından ruleNamebelirtilen 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 nulliç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:

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. nulldeğ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[])

öğesinden Stream sınıfının yeni bir örneğini Grammar başlatır ve bir kök kuralı belirtir.

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çinde ruleNamebelirtilen 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.

Şunlara uygulanır

Grammar(Stream, String)

öğesinden Stream sınıfının yeni bir örneğini Grammar başlatır ve bir kök kuralı belirtir.

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:

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:

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.

Ş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:

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)

sınıfından Grammar Streamyeni bir örneğini başlatır.

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:

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.

Ayrıca bkz.

Şunlara uygulanır