Grammar Classe

Definição

Um objeto em tempo de execução que faz referência a uma gramática de reconhecimento de voz, que uma aplicação pode usar para definir as restrições do reconhecimento de voz.

public ref class Grammar
public class Grammar
type Grammar = class
Public Class Grammar
Herança
Grammar
Derivado

Exemplos

O exemplo seguinte constrói um Grammar objeto a partir de uma gramática de reconhecimento de fala definida num ficheiro XML (cities.xml). O conteúdo do ficheiro cities.xml aparece no seguinte exemplo de 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>

Observações

Uma gramática de reconhecimento de fala é um conjunto de regras ou restrições que definem o que um motor de reconhecimento de fala pode reconhecer como entrada significativa. Para mais informações sobre a criação e utilização de gramáticas de reconhecimento de voz, consulte Reconhecimento de Fala e Criar Gramáticas Usando SrgsGrammar.

Depois de criar uma gramática, deve construí-la num Grammar objeto que um motor de reconhecimento de voz possa carregar e que a sua aplicação possa usar em tempo de execução para gerir o reconhecimento de voz. Pode usar um Grammar construtor para criar uma Grammar instância a partir de um GrammarBuilder ou um SrgsDocument objeto, ou a partir de um ficheiro ou a Stream que contenha uma descrição de uma gramática num formato suportado. Os formatos suportados incluem os seguintes:

Construtores gramaticais que aceitam ficheiros gramaticais em formato XML nos seus argumentos compilam as gramáticas XML para um formato binário para as otimizar para carregamento e consumo por um motor de reconhecimento de voz. Pode reduzir o tempo necessário para construir um Grammar objeto a partir de uma gramática em formato XML compilando a gramática antecipadamente, usando um dos Compile métodos.

O motor de reconhecimento de fala de uma aplicação, gerido por um SpeechRecognizer objeto ou SpeechRecognitionEngine ou pode carregar várias gramáticas de reconhecimento de voz. A aplicação pode ativar ou desativar gramáticas individuais de forma independente ao definir a propriedade Enabled , e modificar o comportamento de reconhecimento através de Grammar propriedades como as Priority propriedades e Weight .

O evento da SpeechRecognized gramática é elevado quando a entrada corresponde a um caminho através da gramática.

Importante

Utilizar uma instância deste tipo com dados não confiáveis é um risco de segurança. Use este objeto apenas com dados confiáveis. Para obter mais informações, consulte Validar todas as informações inseridas.

Note

É uma boa prática verificar a segurança de qualquer URI ou DLL usado para construir um Grammar objeto, o que ajuda a prevenir vulnerabilidades de segurança ao carregar recursos externos.

A Windows e a plataforma Speech fornecem segurança para aplicações que constroem uma instância Grammar a partir de uma DLL ou de uma gramática que suporta scripting.

Os scripts nos Grammar objetos são sempre executados como se tivessem sido descarregados de uma página web no Internet Zonearquivo . O Common Language Runtime (CLR) isola qualquer DLL carregada para obter uma definição gramatical.

Construtores

Name Description
Grammar()

Inicializa uma nova instância da Grammar classe.

Grammar(GrammarBuilder)

Inicializa uma nova instância da Grammar classe a partir de um GrammarBuilder objeto.

Grammar(SrgsDocument, String, Object[])

Inicializa uma nova instância da Grammar classe a partir de uma instância de SrgsDocument, e especifica o nome de uma regra como ponto de entrada para a gramática.

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

Inicializa uma nova instância da Grammar classe a partir de uma instância de SrgsDocument, e especifica o nome de uma regra como ponto de entrada para a gramática e um URI base para resolver referências relativas.

Grammar(SrgsDocument, String, Uri)

Inicializa uma nova instância da Grammar classe a partir de um SrgsDocument objeto, especifica uma regra raiz e define um Identificador Uniforme de Recursos (URI) base para resolver referências relativas às regras.

Grammar(SrgsDocument, String)

Inicializa uma nova instância da Grammar classe a partir de um SrgsDocument objeto e especifica uma regra raiz.

Grammar(SrgsDocument)

Inicializa uma nova instância da Grammar classe a partir de um SrgsDocument objeto.

Grammar(Stream, String, Object[])

Inicializa uma nova instância da Grammar classe a partir de a Stream e especifica uma regra raiz.

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

Inicializa uma nova instância da Grammar classe a Stream e especifica uma regra raiz e um URI base para resolver referências relativas.

Grammar(Stream, String, Uri)

Inicializa uma nova instância da Grammar classe a partir de um fluxo, especifica uma regra raiz e define um Identificador Uniforme de Recursos (URI) base para resolver referências relativas às regras.

Grammar(Stream, String)

Inicializa uma nova instância da Grammar classe a partir de a Stream e especifica uma regra raiz.

Grammar(Stream)

Inicializa uma nova instância da Grammar classe a partir de um Stream.

Grammar(String, String, Object[])

Inicializa uma nova instância da Grammar classe a partir de um ficheiro que contém uma definição gramatical e especifica o nome de uma regra para ser o ponto de entrada da gramática.

Grammar(String, String)

Inicializa uma nova instância da Grammar classe a partir de um ficheiro e especifica uma regra raiz.

Grammar(String)

Inicializa uma nova instância da Grammar classe a partir de um ficheiro.

Propriedades

Name Description
Enabled

Obtém ou define um valor que controla se a Grammar pode ser usado por um reconhecedor de fala para realizar reconhecimento.

IsStg

Percebe se uma gramática está fortemente tipada.

Loaded

Obtém se a Grammar foi carregado por um reconhecedor de fala.

Name

Recebe ou define o nome de um Grammar objeto.

Priority

Obtém ou define o valor de prioridade de um Grammar objeto.

ResourceName

Obtém ou define um valor com o nome de um recurso binário que foi usado para carregar a corrente Grammar.

RuleName

Obtém o nome da regra raiz ou ponto de entrada de um Grammar objeto.

Weight

Obtém ou define o valor de peso de um Grammar objeto.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

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

O LoadLocalizedGrammarFromType método devolve uma instância localizada de um Grammar objeto derivado de Type.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
StgInit(Object[])

O StgInit método inicializa uma gramática fortemente tipada.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

evento

Name Description
SpeechRecognized

Eleva-se quando um reconhecedor de fala realiza o reconhecimento usando o Grammar objeto.

Aplica-se a

Ver também