Comparteix a través de


Grammar Clase

Definición

Un objeto en tiempo de ejecución que hace referencia a una gramática de reconocimiento de voz, que una aplicación puede usar para definir las restricciones para el reconocimiento de voz.

public ref class Grammar
public class Grammar
type Grammar = class
Public Class Grammar
Herencia
Grammar
Derivado

Ejemplos

En el ejemplo siguiente se construye un Grammar objeto a partir de una gramática de reconocimiento de voz definida en un archivo XML (cities.xml). El contenido del archivo cities.xml aparece en el siguiente ejemplo 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>  

Comentarios

Una gramática de reconocimiento de voz es un conjunto de reglas o restricciones que definen lo que un motor de reconocimiento de voz puede reconocer como entrada significativa. Para obtener más información sobre cómo crear y usar gramáticas de reconocimiento de voz, consulte Reconocimiento de voz y Creación de gramáticas mediante SrgsGrammar.

Después de crear una gramática, debe compilarla en un Grammar objeto que un motor de reconocimiento de voz pueda cargar y que la aplicación pueda usar en tiempo de ejecución para administrar el reconocimiento de voz. Puede usar un Grammar constructor para crear una Grammar instancia de a partir de GrammarBuilder un SrgsDocument objeto o desde un archivo o un Stream que contenga una descripción de una gramática en un formato admitido. Entre los formatos admitidos se incluyen los siguientes:

  • Archivos de formato XML que se ajustan a la especificación gramatical de reconocimiento de voz (SRGS) versión 1.0 de W3C

  • Gramáticas que se han compilado en un archivo binario con una extensión de archivo .cfg

Los constructores de gramática que aceptan archivos de gramática de formato XML en sus argumentos compilan las gramáticas XML en un formato binario para optimizarlos para cargarlos y consumirlos mediante un motor de reconocimiento de voz. Puede reducir la cantidad de tiempo necesario para construir un objeto a partir de una Grammar gramática de formato XML mediante la compilación anticipada de la gramática mediante uno de los Compile métodos .

El motor de reconocimiento de voz de una aplicación, administrado por un SpeechRecognizer objeto o SpeechRecognitionEngine , puede cargar varias gramáticas de reconocimiento de voz. La aplicación puede habilitar o deshabilitar gramáticas individuales de forma independiente estableciendo la propiedad y modificando el Enabled comportamiento de reconocimiento mediante Grammar propiedades, como las Priority propiedades y Weight .

El evento de SpeechRecognized la gramática se genera cuando la entrada coincide con una ruta de acceso a través de la gramática.

Nota

Es un procedimiento recomendado comprobar la seguridad de cualquier URI o DLL que se use para compilar un Grammar objeto.

Windows y la plataforma de voz proporcionan seguridad para las aplicaciones que crean una instancia a partir de un Grammar archivo DLL o desde una gramática que admite el scripting.

Los scripts de Grammar los objetos siempre se ejecutan como si se descargaran desde una página web en .Internet Zone Common Language Runtime (CLR) aísla cualquier dll cargada para obtener una definición gramatical.

Constructores

Grammar()

Inicializa una nueva instancia de la clase Grammar.

Grammar(GrammarBuilder)

Inicializa una nueva instancia de la clase Grammar a partir de un objeto GrammarBuilder.

Grammar(SrgsDocument)

Inicializa una nueva instancia de la clase Grammar a partir de un objeto SrgsDocument.

Grammar(SrgsDocument, String)

Inicializa una nueva instancia de la Grammar clase a partir de un SrgsDocument objeto y especifica una regla raíz.

Grammar(SrgsDocument, String, Object[])

Inicializa una nueva instancia de la clase de Grammar a partir de una instancia de SrgsDocument, y especifica que el nombre de una regla sea el punto de entrada a la gramática.

Grammar(SrgsDocument, String, Uri)

Inicializa una nueva instancia de la Grammar clase a partir de un SrgsDocument objeto , especifica una regla raíz y define un identificador uniforme de recursos (URI) base para resolver las referencias de regla relativas.

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

Inicializa una nueva instancia de la clase Grammar a partir de una instancia de SrgsDocument, y especifica que el nombre de una regla sea el punto de entrada a la gramática y un URI base para resolver las referencias relativas.

Grammar(Stream)

Inicializa una nueva instancia de la clase Grammar a partir de un objeto Stream.

Grammar(Stream, String)

Inicializa una nueva instancia de la clase Grammar a partir de un Stream y especifica una regla raíz.

Grammar(Stream, String, Object[])

Inicializa una nueva instancia de la clase Grammar a partir de un Stream y especifica una regla raíz.

Grammar(Stream, String, Uri)

Inicializa una nueva instancia de la clase Grammar a partir de un flujo, especifica una regla raíz y define un Identificador uniforme de recursos (URI) base para resolver las referencias relativas de la regla.

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

Inicializa una nueva instancia de la clase Grammar de Stream y especifica una regla raíz y un URI base para resolver las referencias relativas.

Grammar(String)

Inicializa una nueva instancia de la clase Grammar a partir de un archivo.

Grammar(String, String)

Inicializa una nueva instancia de la clase Grammar a partir de un archivo y especifica una regla raíz.

Grammar(String, String, Object[])

Inicializa una nueva instancia de la clase Grammar a partir de un archivo que contiene una definición de gramática y especifica que el nombre de una regla sea el punto de entrada a la gramática.

Propiedades

Enabled

Obtiene o establece un valor que controla si Grammar se puede usar por un módulo de reconocimiento de voz para realizar el reconocimiento.

IsStg

Obtiene si una gramática está fuertemente tipada.

Loaded

Obtiene si un objeto Grammar ha sido cargado por un reconocedor de voz.

Name

Obtiene o establece el nombre de un objeto Grammar.

Priority

Obtiene o establece el valor de prioridad de un objeto Grammar.

ResourceName

Obtiene o establece un valor con el nombre de un recurso binario usado para cargar el Grammar actual.

RuleName

Obtiene el nombre de la regla raíz o el punto de entrada de un objeto Grammar.

Weight

Obtiene o establece el valor del ancho en píxeles del objeto Grammar.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
LoadLocalizedGrammarFromType(Type, Object[])

El método LoadLocalizedGrammarFromType devuelve una instancia localizada de un objeto Grammar derivado de Type.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
StgInit(Object[])

El método StgInit inicializa una gramática fuertemente tipada.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Eventos

SpeechRecognized

Se genera cuando un reconocedor de voz realiza el reconocimiento usando el objeto Grammar.

Se aplica a

Consulte también