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.
Oggetto runtime che fa riferimento a una grammatica di riconoscimento vocale, che un'applicazione può usare per definire i 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 creato 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 grammatiche di riconoscimento vocale, vedere Riconoscimento vocale e Creare grammatiche con SrgsGrammar.
Dopo aver creato una grammatica, è necessario compilarla 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 da un Stream 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
Grammatiche compilate in un file binario con estensione cfg
I costruttori di grammatica che accettano file di grammatica in formato XML nei relativi argomenti compilano le grammatiche XML in un formato binario per ottimizzarle 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 la grammatica in anticipo, usando uno dei Compile metodi .
Il motore di riconoscimento vocale di un'applicazione, gestito da un SpeechRecognizer oggetto o SpeechRecognitionEngine , può caricare più grammatiche di riconoscimento vocale. L'applicazione può abilitare o disabilitare in modo indipendente le singole grammatiche impostando la proprietà e modificando il Enabled 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.
Importante
L'uso di un'istanza di questo tipo con dati non attendibili è un rischio per la sicurezza. Utilizzare questo oggetto solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.
Annotazioni
È consigliabile verificare la sicurezza di qualsiasi URI o DLL usato per compilare un Grammar oggetto, che consente di evitare vulnerabilità di sicurezza durante il caricamento di risorse esterne.
Windows e la piattaforma Voce offrono sicurezza per le applicazioni che creano 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
| Nome | Descrizione |
|---|---|
| Grammar() |
Inizializza una nuova istanza della classe Grammar. |
| Grammar(GrammarBuilder) |
Inizializza una nuova istanza della Grammar classe da un GrammarBuilder oggetto . |
| Grammar(SrgsDocument, String, Object[]) |
Inizializza una nuova istanza della Grammar classe da un'istanza di SrgsDocumente specifica il nome di una regola come punto di ingresso della grammatica. |
| Grammar(SrgsDocument, String, Uri, Object[]) |
Inizializza una nuova istanza della Grammar classe da un'istanza di SrgsDocumente specifica il nome di una regola come punto di ingresso della grammatica e un URI di base per risolvere i riferimenti relativi. |
| 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) |
Inizializza una nuova istanza della Grammar classe da un SrgsDocument oggetto e specifica una regola radice. |
| Grammar(SrgsDocument) |
Inizializza una nuova istanza della Grammar classe da un SrgsDocument oggetto . |
| Grammar(Stream, String, Object[]) |
Inizializza una nuova istanza della Grammar classe da un Stream oggetto e specifica una regola radice. |
| Grammar(Stream, String, Uri, Object[]) |
Inizializza una nuova istanza della Grammar classe a Stream e specifica una regola radice e un URI di base per risolvere i riferimenti relativi. |
| Grammar(Stream, String, Uri) |
Inizializza una nuova istanza della Grammar classe da un flusso, specifica una regola radice e definisce un URI (Uniform Resource Identifier) di base per risolvere i riferimenti alle regole relative. |
| Grammar(Stream, String) |
Inizializza una nuova istanza della Grammar classe da un Stream oggetto e specifica una regola radice. |
| Grammar(Stream) |
Inizializza una nuova istanza della Grammar classe da un oggetto Stream. |
| Grammar(String, String, Object[]) |
Inizializza una nuova istanza della Grammar classe da un file che contiene una definizione di grammatica e specifica il nome di una regola come punto di ingresso della grammatica. |
| Grammar(String, String) |
Inizializza una nuova istanza della Grammar classe da un file e specifica una regola radice. |
| Grammar(String) |
Inizializza una nuova istanza della Grammar classe da un file. |
Proprietà
| Nome | Descrizione |
|---|---|
| Enabled |
Ottiene o imposta un valore che controlla se un Grammar oggetto 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 un oggetto Grammar è stato caricato da un riconoscimento vocale. |
| Name |
Ottiene o imposta il nome di un Grammar oggetto . |
| Priority |
Ottiene o imposta il valore di priorità di un Grammar oggetto . |
| ResourceName |
Ottiene o imposta un valore con il nome di una risorsa binaria utilizzata per caricare l'oggetto corrente Grammar. |
| RuleName |
Ottiene il nome della regola radice o del punto di ingresso di un Grammar oggetto . |
| Weight |
Ottiene o imposta il valore di peso di un Grammar oggetto . |
Metodi
| Nome | Descrizione |
|---|---|
| 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 il Type dell'istanza corrente. (Ereditato da Object) |
| LoadLocalizedGrammarFromType(Type, Object[]) |
Il |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| StgInit(Object[]) |
Il |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Eventi
| Nome | Descrizione |
|---|---|
| SpeechRecognized |
Generato quando un riconoscimento vocale esegue il riconoscimento usando l'oggetto Grammar . |