SemanticResultKey Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Associa uma cadeia de caracteres de chave a SemanticResultValue valores para definir SemanticValue objetos.
public ref class SemanticResultKey
public class SemanticResultKey
type SemanticResultKey = class
Public Class SemanticResultKey
- Herança
-
SemanticResultKey
Exemplos
O exemplo a seguir cria uma Grammar entrada para reconhecer a senha do formulário "Minha senha é ...", em que a entrada real é correspondida com um curinga.
O curinga é marcado com uma chave semântica e o SpeechRecognized manipulador verifica a presença dessa marca para verificar se ocorreu uma entrada de senha.
private void pwdGrammar()
{
GrammarBuilder pwdBuilder = new GrammarBuilder("My Password is");
GrammarBuilder wildcardBuilder = new GrammarBuilder();
wildcardBuilder.AppendWildcard();
SemanticResultKey wildcardKey= new SemanticResultKey("Password", wildcardBuilder);
pwdBuilder+=wildcardKey;
Grammar grammar = new Grammar(pwdBuilder);
grammar.Name = "Password input";
grammar.SpeechRecognized += delegate(object sender, SpeechRecognizedEventArgs eventArgs)
{
SemanticValue semantics = eventArgs.Result.Semantics;
RecognitionResult result=eventArgs.Result;
if (!semantics.ContainsKey("Password"))
{
SpeechUI.SendTextFeedback(eventArgs.Result, "No Password Provided", false);
}
else
{
RecognizedAudio pwdAudio = result.GetAudioForWordRange(result.Words[3], result.Words[result.Words.Count - 1]);
MemoryStream pwdMemoryStream = new MemoryStream();
pwdAudio.WriteToAudioStream(pwdMemoryStream);
if (!IsValidPwd(pwdMemoryStream))
{
string badPwd = System.IO.Path.GetTempPath() + "BadPwd" + (new Random()).Next().ToString() + ".wav";
FileStream waveStream = new FileStream(badPwd, FileMode.Create);
pwdAudio.WriteToWaveStream(waveStream);
waveStream.Flush();
waveStream.Close();
SpeechUI.SendTextFeedback(eventArgs.Result, "Invalid Password", false);
}
}
};
grammar.Enabled = true;
_recognizer.LoadGrammar(grammar);
UpdateGrammarTree(_grammarTreeView, _recognizer);
}
Comentários
A unidade básica da expressão semântica em System.Speech é a SemanticValue, que é um par chave/valor.
Usando SemanticResultKey objetos, você marca SemanticResultValue instâncias contidas em GrammarBuilder objetos e cadeias de caracteres para que os valores possam ser facilmente acessados de SemanticValue instâncias no reconhecimento.
Você pode usar SemanticResultValue e SemanticResultKey objetos, em conjunto com GrammarBuilder e Choices objetos, para definir a estrutura semântica para uma gramática de reconhecimento de fala. Para acessar as informações semânticas em um resultado de reconhecimento, obtenha uma instância por SemanticValue meio da Semantics propriedade em RecognizedPhrase.
Construtores
| Nome | Description |
|---|---|
| SemanticResultKey(String, GrammarBuilder[]) |
Atribui uma chave semântica a um ou mais GrammarBuilder objetos usados para criar uma gramática de reconhecimento de fala. |
| SemanticResultKey(String, String[]) |
Atribui uma chave semântica a uma ou mais String instâncias usadas para criar uma gramática de reconhecimento de fala. |
Métodos
| Nome | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToGrammarBuilder() |
Retorna uma instância de GrammarBuilder construção da instância atual SemanticResultKey . |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |