Grammar Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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:
Ficheiros em formato XML que cumprem a Especificação de Gramática de Reconhecimento de Fala do W3C (SRGS) Versão 1.0
Gramáticas que foram compiladas para um ficheiro binário com uma extensão de ficheiro .cfg
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 |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| StgInit(Object[]) |
O |
| 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. |