Teilen über


Grammar Klasse

Definition

Ein Laufzeitobjekt, das auf eine Spracherkennungsgrammatik verweist, die eine Anwendung verwenden kann, um die Einschränkungen für Spracherkennung zu definieren.

public ref class Grammar
public class Grammar
type Grammar = class
Public Class Grammar
Vererbung
Grammar
Abgeleitet

Beispiele

Im folgenden Beispiel wird ein Grammar -Objekt aus einer Spracherkennungsgrammatik erstellt, die in einer XML-Datei (cities.xml) definiert ist. Der Inhalt der cities.xml-Datei wird im folgenden XML-Beispiel angezeigt.

// Load a cities grammar from a local file and return the grammar object.   
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>  

Hinweise

Eine Spracherkennungsgrammatik ist ein Satz von Regeln oder Einschränkungen, die definieren, was eine Spracherkennungs-Engine als sinnvolle Eingabe erkennen kann. Weitere Informationen zum Erstellen und Verwenden von Spracherkennungsgrammatiken finden Sie unter Spracherkennung und Erstellen von Grammatiken mit SrgsGrammar.

Nachdem Sie eine Grammatik erstellt haben, müssen Sie sie in ein Grammar Objekt integrieren, das von einer Spracherkennungs-Engine geladen werden kann und das Ihre Anwendung zur Laufzeit zum Verwalten der Spracherkennung verwenden kann. Sie können einen Grammar Konstruktor verwenden, um eine Grammar Instanz aus einem GrammarBuilder - oder einem SrgsDocument -Objekt oder aus einer Datei oder einem Stream -Objekt zu erstellen, das eine Beschreibung einer Grammatik in einem unterstützten Format enthält. Folgende Formate werden unterstützt:

Grammatikkonstruktoren, die Grammatikdateien im XML-Format in ihren Argumenten akzeptieren, kompilieren die XML-Grammatiken in ein Binärformat, um sie für das Laden und Verwenden durch eine Spracherkennungs-Engine zu optimieren. Sie können den Zeitaufwand für die Erstellung eines Grammar Objekts aus einer Grammatik im XML-Format reduzieren, indem Sie die Grammatik im Voraus kompilieren, indem Sie eine der Compile Methoden verwenden.

Die Spracherkennungs-Engine einer Anwendung, die von einem SpeechRecognizer - oder SpeechRecognitionEngine -Objekt verwaltet wird, kann mehrere Spracherkennungsgrammatiken laden. Die Anwendung kann einzelne Grammatiken unabhängig aktivieren oder deaktivieren, indem sie die -Eigenschaft festlegt und das Enabled Erkennungsverhalten über Grammar Eigenschaften wie die Priority Eigenschaften und Weight ändern.

Das Grammatikereignis SpeechRecognized wird ausgelöst, wenn die Eingabe mit einem Pfad durch die Grammatik übereinstimmt.

Hinweis

Es ist eine bewährte Methode, die Sicherheit von URI oder DLL zu überprüfen, die zum Erstellen eines Grammar Objekts verwendet wird.

Windows und die Speech-Plattform bieten Sicherheit für Anwendungen, die eine Grammar Instanz aus einer DLL oder einer Grammatik erstellen, die Skripterstellung unterstützt.

Skripts in Grammar -Objekten werden immer ausgeführt, als ob sie von einer Webseite im Internet Zoneheruntergeladen würden. Die Common Language Runtime (CLR) isoliert jede geladene DLL, um eine Grammatikdefinition zu erhalten.

Konstruktoren

Grammar()

Initialisiert eine neue Instanz der Grammar-Klasse.

Grammar(GrammarBuilder)

Initialisiert eine neue Instanz der Grammar-Klasse mit einem GrammarBuilder-Objekt.

Grammar(SrgsDocument)

Initialisiert eine neue Instanz der Grammar-Klasse aus einem SrgsDocument-Objekt.

Grammar(SrgsDocument, String)

Initialisiert eine neue Instanz der Grammar -Klasse aus einem SrgsDocument -Objekt und gibt eine Stammregel an.

Grammar(SrgsDocument, String, Object[])

Initialisiert eine neue Instanz der Grammar-Klasse von einer Instanz von SrgsDocument und gibt den Namen einer Regel an, die der Einstiegspunkt der Grammatik sein soll.

Grammar(SrgsDocument, String, Uri)

Initialisiert eine neue Instanz der Grammar -Klasse aus einem SrgsDocument -Objekt, gibt eine Stammregel an und definiert einen Basis-URI (Uniform Resource Identifier), um relative Regelverweise aufzulösen.

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

Initialisiert eine neue Instanz der Grammar-Klasse von einer Instanz von SrgsDocument und gibt den Namen einer Regel an, die der Einstiegspunkt der Grammatik sein soll, und einen Basis-URI, um relative Verweise aufzulösen.

Grammar(Stream)

Initialisiert eine neue Instanz der Grammar-Klasse mit einer Stream.

Grammar(Stream, String)

Initialisiert eine neue Instanz der Grammar-Klasse aus Stream und gibt eine Stammregel an.

Grammar(Stream, String, Object[])

Initialisiert eine neue Instanz der Grammar-Klasse aus Stream und gibt eine Stammregel an.

Grammar(Stream, String, Uri)

Initialisiert eine neue Instanz der Grammar-Klasse von einem Stream, gibt eine Stammregel an und definiert einen grundlegenden Uniform Resource Identifier (URI), um relative Regelverweise aufzulösen.

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

Initialisiert eine neue Instanz der Grammar-Klasse eines Stream und gibt eine Stammregel und einen Basis-URI an, um relative Verweise aufzulösen.

Grammar(String)

Initialisiert eine neue Instanz der Grammar-Klasse aus einer Datei.

Grammar(String, String)

Initialisiert eine neue Instanz der Grammar-Klasse aus einer Datei und gibt eine Stammregel an.

Grammar(String, String, Object[])

Initialisiert eine neue Instanz der Grammar-Klasse aus einer Datei, die eine Grammatikdefinition enthält, und gibt den Namen einer Regel an, die der Einstiegspunkt der Grammatik sein soll.

Eigenschaften

Enabled

Ruft einen Wert ab oder legt diesen fest, welcher steuert, ob eine Grammar von einem Spracherkennungsmodul verwendet werden kann, um eine Erkennung durchzuführen.

IsStg

Ruft ab, ob eine Grammatik stark typisiert ist.

Loaded

Ruft ab, ob Grammar von einer Spracherkennung geladen wurde.

Name

Ruft den Namen eines Grammar-Objekts ab oder legt ihn fest.

Priority

Ruft den Wert der Priorität eines Grammar-Objekts ab oder legt diesen fest.

ResourceName

Ruft einen Wert ab oder legt diesen fest mit einer binären Ressource, welche für das Laden der aktuellen Grammar verwendet wurde.

RuleName

Ruft den Namen der Stammregel oder des Einstiegpunkts eines Grammar-Objekts ab.

Weight

Ruft den Wert der Stärke eines Grammar-Objekts ab oder legt diesen fest.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
LoadLocalizedGrammarFromType(Type, Object[])

Die LoadLocalizedGrammarFromType-Methode gibt eine lokalisierte Instanz eines Grammar-Objekts zurück, das von Type abgeleitet ist.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
StgInit(Object[])

Die StgInit-Methode initialisiert eine stark typisierte Grammatik.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Ereignisse

SpeechRecognized

Wird ausgelöst, wenn eine Spracherkennung die Erkennung mithilfe des Grammar-Objekts ausführt.

Gilt für:

Weitere Informationen