SemanticResultKey Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Associa una stringa di chiave ai SemanticResultValue valori per definire SemanticValue gli oggetti.
public ref class SemanticResultKey
public class SemanticResultKey
type SemanticResultKey = class
Public Class SemanticResultKey
- Ereditarietà
-
SemanticResultKey
Esempio
Nell'esempio seguente viene creato un oggetto Grammar per riconoscere l'input della password del modulo "My password is ...", dove l'input effettivo viene confrontato con un carattere jolly.
Il carattere jolly viene contrassegnato con una chiave semantica e il SpeechRecognized gestore verifica la presenza di questo tag per verificare che si sia verificato un input della password.
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);
}
Commenti
L'unità di base dell'espressione semantica in System.Speech è SemanticValue, che è una coppia chiave/valore.
Usando SemanticResultKey gli oggetti, è possibile contrassegnare SemanticResultValue le istanze contenute in GrammarBuilder oggetti e stringhe in modo che i valori possano essere facilmente accessibili dalle SemanticValue istanze in fase di riconoscimento.
È possibile usare SemanticResultValue oggetti e SemanticResultKey , insieme GrammarBuilder a oggetti e Choices , per definire la struttura semantica per una grammatica di riconoscimento vocale. Per accedere alle informazioni semantiche in un risultato di riconoscimento, ottenere un'istanza di SemanticValue tramite la Semantics proprietà su RecognizedPhrase.
Costruttori
| Nome | Descrizione |
|---|---|
| SemanticResultKey(String, GrammarBuilder[]) |
Assegna una chiave semantica a uno o più GrammarBuilder oggetti usati per creare una grammatica di riconoscimento vocale. |
| SemanticResultKey(String, String[]) |
Assegna una chiave semantica a una o più String istanze usate per creare una grammatica di riconoscimento vocale. |
Metodi
| Nome | Descrizione |
|---|---|
| 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 il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToGrammarBuilder() |
Restituisce un'istanza di GrammarBuilder costruita dall'istanza corrente SemanticResultKey . |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |