Grammar Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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:
XML-Formatdateien, die der W3C Speech Recognition Grammar Specification (SRGS) Version 1.0 entsprechen
Grammatiken, die in eine Binärdatei mit der Dateierweiterung .cfg kompiliert wurden
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 Zone
heruntergeladen 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 |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
StgInit(Object[]) |
Die |
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. |