Sdílet prostřednictvím


Grammar Třída

Definice

Modul runtime, který odkazuje na gramatiku rozpoznávání řeči, kterou může aplikace použít k definování omezení rozpoznávání řeči.

public ref class Grammar
public class Grammar
type Grammar = class
Public Class Grammar
Dědičnost
Grammar
Odvozené

Příklady

Následující příklad vytvoří objekt z gramatiky Grammar rozpoznávání řeči definované v souboru XML (cities.xml). Obsah souboru cities.xml se zobrazí v následujícím příkladu XML.

// 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>

Poznámky

Gramatika rozpoznávání řeči je sada pravidel nebo omezení, která definují, co modul pro rozpoznávání řeči rozpozná jako smysluplný vstup. Další informace o vytváření a používání gramatiky rozpoznávání řeči najdete v tématu Rozpoznávání řeči a Vytváření gramatik pomocí SrgsGrammar.

Po vytvoření gramatiky ho musíte sestavit do objektu Grammar , který může modul pro rozpoznávání řeči načíst a že vaše aplikace může za běhu používat ke správě rozpoznávání řeči. Pomocí konstruktoru GrammarGrammar můžete vytvořit instanci z objektu GrammarBuilderSrgsDocument nebo ze souboru nebo ze souboru nebo z objektu, Stream který obsahuje popis gramatiky v podporovaném formátu. Mezi podporované formáty patří:

Konstruktory gramatiky, které přijímají gramatické soubory ve formátu XML v argumentech, kompilují gramatiky XML do binárního formátu, aby je optimalizovaly pro načítání a spotřebu modulem pro rozpoznávání řeči. Pomocí jedné z Compile metod můžete zkrátit dobu potřebnou k vytvoření Grammar objektu z gramatiky ve formátu XML tak, že gramatiku předem zkompilujete.

Modul rozpoznávání řeči aplikace, který je spravovaný objektem nebo SpeechRecognitionEngine objektemSpeechRecognizer, může načíst více gramatik rozpoznávání řeči. Aplikace může nezávisle povolit nebo zakázat jednotlivé gramatiky nastavením Enabled vlastnosti a upravit chování rozpoznávání prostřednictvím Grammar vlastností, jako jsou vlastnosti Priority a Weight vlastnosti.

Událost gramatiky SpeechRecognized se vyvolá, když vstup odpovídá cestě přes gramatiku.

Důležité

Použití instance tohoto typu s nedůvěryhodnými daty představuje bezpečnostní riziko. Tento objekt použijte pouze s důvěryhodnými daty. Další informace naleznete v tématu Ověření všech vstupů.

Poznámka:

Osvědčeným postupem je ověřit bezpečnost jakéhokoli identifikátoru URI nebo knihovny DLL použité k sestavení objektu Grammar , což pomáhá zabránit ohrožením zabezpečení při načítání externích prostředků.

Windows a platforma Speech poskytují zabezpečení pro aplikace, které Grammar vytváří instanci z knihovny DLL nebo gramatiky, která podporuje skriptování.

Skripty v Grammar objektech se vždy spouštějí, jako by byly staženy z webové stránky v objektu Internet Zone. Modul CLR (Common Language Runtime) izoluje všechny knihovny DLL načtené, aby získaly definici gramatiky.

Konstruktory

Name Description
Grammar()

Inicializuje novou instanci Grammar třídy.

Grammar(GrammarBuilder)

Inicializuje novou instanci Grammar třídy z objektu GrammarBuilder .

Grammar(SrgsDocument, String, Object[])

Inicializuje novou instanci Grammar třídy z instance SrgsDocumenta určuje název pravidla, které má být vstupním bodem gramatiky.

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

Inicializuje novou instanci Grammar třídy z instance SrgsDocumenta určuje název pravidla, které má být vstupním bodem gramatiky a základní identifikátor URI pro překlad relativních odkazů.

Grammar(SrgsDocument, String, Uri)

Inicializuje novou instanci třídy z SrgsDocument objektuGrammar, určuje kořenové pravidlo a definuje základní identifikátor URI (Uniform Resource Identifier) k překladu relativních odkazů na pravidlo.

Grammar(SrgsDocument, String)

Inicializuje novou instanci Grammar třídy z objektu SrgsDocument a určuje kořenové pravidlo.

Grammar(SrgsDocument)

Inicializuje novou instanci Grammar třídy z objektu SrgsDocument .

Grammar(Stream, String, Object[])

Inicializuje novou instanci Grammar třídy z a Stream určuje kořenové pravidlo.

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

Inicializuje novou instanci Grammar třídy Stream a určuje kořenové pravidlo a základní identifikátor URI pro překlad relativních odkazů.

Grammar(Stream, String, Uri)

Inicializuje novou instanci Grammar třídy ze streamu, určuje kořenové pravidlo a definuje základní identifikátor URI (Uniform Resource Identifier) k překladu relativních odkazů na pravidlo.

Grammar(Stream, String)

Inicializuje novou instanci Grammar třídy z a Stream určuje kořenové pravidlo.

Grammar(Stream)

Inicializuje novou instanci Grammar třídy z objektu Stream.

Grammar(String, String, Object[])

Inicializuje novou instanci Grammar třídy ze souboru, který obsahuje definici gramatiky, a určuje název pravidla, které má být vstupním bodem gramatiky.

Grammar(String, String)

Inicializuje novou instanci Grammar třídy ze souboru a určuje kořenové pravidlo.

Grammar(String)

Inicializuje novou instanci Grammar třídy ze souboru.

Vlastnosti

Name Description
Enabled

Získá nebo nastaví hodnotu, která určuje, zda Grammar může rozpoznávání řeči použít rozpoznávání řeči.

IsStg

Získá, zda gramatika je silného typu.

Loaded

Získá, zda Grammar byl načten rozpoznáváním řeči.

Name

Získá nebo nastaví název objektu Grammar .

Priority

Získá nebo nastaví hodnotu priority objektu Grammar .

ResourceName

Získá nebo nastaví hodnotu s názvem binárního prostředku, který byl použit k načtení aktuálního Grammar.

RuleName

Získá název kořenového pravidla nebo vstupního bodu objektu Grammar .

Weight

Získá nebo nastaví hodnotu váhy objektu Grammar .

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
LoadLocalizedGrammarFromType(Type, Object[])

Metoda LoadLocalizedGrammarFromType vrátí lokalizovanou instanci objektu odvozeného Grammar z Type.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
StgInit(Object[])

Metoda StgInit inicializuje gramatiku silného typu.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Událost

Name Description
SpeechRecognized

Vyvolá se, když rozpoznávání řeči provádí rozpoznávání pomocí objektu Grammar .

Platí pro

Viz také