Grammar Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Un oggetto runtime che fa riferimento a una grammatica di riconoscimento vocale, che un'applicazione può utilizzare per definire vincoli per il riconoscimento vocale.
public ref class Grammar
public class Grammar
type Grammar = class
Public Class Grammar
- Ereditarietà
-
Grammar
- Derivato
Esempio
Nell'esempio seguente viene costruito un Grammar oggetto da una grammatica di riconoscimento vocale definita in un file XML (cities.xml). Il contenuto del file cities.xml viene visualizzato nell'esempio XML seguente.
// 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>
Commenti
Una grammatica di riconoscimento vocale è un set di regole o vincoli che definiscono ciò che un motore di riconoscimento vocale può riconoscere come input significativo. Per altre informazioni sulla creazione e l'uso delle grammatica di riconoscimento vocale, vedere Riconoscimento vocale e Creazione di grammatica con SrgsGrammar.
Dopo aver creato una grammatica, è necessario compilarlo in un Grammar oggetto che un motore di riconoscimento vocale può caricare e che l'applicazione può usare in fase di esecuzione per gestire il riconoscimento vocale. È possibile usare un Grammar costruttore per creare un'istanza Grammar da un GrammarBuilder oggetto o SrgsDocument da un file o Stream da un oggetto contenente una descrizione di una grammatica in un formato supportato. I formati supportati includono quanto segue:
File in formato XML conformi a W3C Speech Recognition Grammar Specification (SRGS) versione 1.0
Grammatica compilata in un file binario con estensione cfg
I costruttori di grammatica che accettano file di grammatica in formato XML nei relativi argomenti compilano le grammatica XML in un formato binario per ottimizzarli per il caricamento e l'utilizzo da parte di un motore di riconoscimento vocale. È possibile ridurre la quantità di tempo necessaria per costruire un Grammar oggetto da una grammatica in formato XML compilando in anticipo la grammatica usando uno dei Compile metodi.
Il motore di riconoscimento vocale di un'applicazione, gestito da un SpeechRecognizer oggetto o SpeechRecognitionEngine , può caricare più grammatica di riconoscimento vocale. L'applicazione può abilitare o disabilitare le singole grammatica impostando la Enabled proprietà e modificando il comportamento di riconoscimento tramite Grammar proprietà, ad esempio le Priority proprietà e Weight .
L'evento della SpeechRecognized grammatica viene generato quando l'input corrisponde a un percorso attraverso la grammatica.
Nota
È consigliabile verificare la sicurezza di qualsiasi URI o DLL usato per compilare un Grammar oggetto.
Windows e la piattaforma Speech forniscono sicurezza per le applicazioni che costruiscono un'istanza Grammar da una DLL o da una grammatica che supporta lo scripting.
Gli script negli Grammar oggetti vengono sempre eseguiti come se scaricati da una pagina Web in Internet Zone
. Common Language Runtime (CLR) isola qualsiasi DLL caricata per ottenere una definizione di grammatica.
Costruttori
Grammar() |
Inizializza una nuova istanza della classe Grammar. |
Grammar(GrammarBuilder) |
Inizializza una nuova istanza della classe Grammar da un oggetto GrammarBuilder. |
Grammar(SrgsDocument) |
Inizializza una nuova istanza della classe Grammar con un oggetto SrgsDocument. |
Grammar(SrgsDocument, String) |
Inizializza una nuova istanza della Grammar classe da un SrgsDocument oggetto e specifica una regola radice. |
Grammar(SrgsDocument, String, Object[]) |
Inizializza una nuova istanza della classe Grammar da un'istanza dell'oggetto SrgsDocument e specifica il nome di una regola affinché sia il punto di ingresso della grammatica. |
Grammar(SrgsDocument, String, Uri) |
Inizializza una nuova istanza della Grammar classe da un SrgsDocument oggetto, specifica una regola radice e definisce un URI (Uniform Resource Identifier) di base per risolvere i riferimenti alle regole relative. |
Grammar(SrgsDocument, String, Uri, Object[]) |
Inizializza una nuova istanza della classe Grammar da un'istanza dell'oggetto SrgsDocument e specifica il nome di una regola affinché sia il punto di ingresso della grammatica e un URI di base per risolvere i relativi riferimenti. |
Grammar(Stream) |
Inizializza una nuova istanza della classe Grammar da un oggetto Stream. |
Grammar(Stream, String) |
Inizializza una nuova istanza della classe Grammar da Stream e specifica una regola radice. |
Grammar(Stream, String, Object[]) |
Inizializza una nuova istanza della classe Grammar da Stream e specifica una regola radice. |
Grammar(Stream, String, Uri) |
Inizializza una nuova istanza della classe Grammar da un flusso, specifica una regola radice e definisce un URI (Uniform Resource Identifier) di base per risolvere i relativi riferimenti della regola. |
Grammar(Stream, String, Uri, Object[]) |
Inizializza una nuova istanza delle classi Grammar e Stream e specifica una regola radice e un URI di base per risolvere i riferimenti relativi. |
Grammar(String) |
Inizializza una nuova istanza della classe Grammar da un file. |
Grammar(String, String) |
Inizializza una nuova istanza della classe Grammar da un file e specifica una regola radice. |
Grammar(String, String, Object[]) |
Inizializza una nuova istanza della classe Grammar da un file contenente una definizione di grammatica e specifica il nome di una regola che sarà il punto di ingresso della grammatica. |
Proprietà
Enabled |
Ottiene o imposta un valore che controlla se Grammar può essere utilizzato da un riconoscimento vocale per eseguire il riconoscimento. |
IsStg |
Ottiene un valore che indica se una grammatica è fortemente tipizzata. |
Loaded |
Ottiene un valore che indica se Grammar è stato caricato da un riconoscimento vocale. |
Name |
Ottiene o imposta il nome di un oggetto Grammar. |
Priority |
Ottiene o imposta il valore di priorità di un oggetto Grammar. |
ResourceName |
Ottiene o imposta un valore con il nome di una risorsa binaria utilizzata per caricare l'oggetto Grammar corrente. |
RuleName |
Ottiene il nome del punto di ingresso o della regola radice di un oggetto Grammar. |
Weight |
Ottiene o imposta il valore della larghezza di un oggetto Grammar. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
LoadLocalizedGrammarFromType(Type, Object[]) |
Il metodo |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
StgInit(Object[]) |
Il metodo |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Eventi
SpeechRecognized |
Generato quando il riconoscimento vocale esegue il riconoscimento utilizzando l'oggetto Grammar. |