Condividi tramite


Grammar Classe

Definizione

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:

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 LoadLocalizedGrammarFromType restituisce un'istanza localizzata di un oggetto Grammar derivato da Type.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
StgInit(Object[])

Il metodo StgInit inizializza una grammatica fortemente tipizzata.

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.

Si applica a

Vedi anche