SemanticResultKey Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Associe une chaîne clé aux valeurs SemanticResultValue pour définir des objets SemanticValue.
public ref class SemanticResultKey
public class SemanticResultKey
type SemanticResultKey = class
Public Class SemanticResultKey
- Héritage
-
SemanticResultKey
Exemples
L’exemple suivant crée un Grammar pour reconnaître l’entrée de mot de passe au format « Mon mot de passe est ... », où l’entrée réelle est associée à un caractère générique.
Le caractère générique est marqué avec une clé sémantique, et le SpeechRecognized gestionnaire vérifie la présence de cette balise pour vérifier qu’une entrée de mot de passe s’est produite.
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);
}
Remarques
L’unité de base de l’expression sémantique dans System.Speech est , SemanticValuequi est une paire clé/valeur.
À l’aide d’objets SemanticResultKey , vous balisez SemanticResultValue les instances contenues dans GrammarBuilder les objets et les chaînes afin que les valeurs puissent être facilement accessibles à partir d’instances lors de SemanticValue la reconnaissance.
Vous pouvez utiliser des SemanticResultValue objets et SemanticResultKey , conjointement avec GrammarBuilder des objets et Choices , pour définir la structure sémantique d’une grammaire de reconnaissance vocale. Pour accéder aux informations sémantiques dans un résultat de reconnaissance, obtenez un instance de SemanticValue via la Semantics propriété sur RecognizedPhrase.
Constructeurs
SemanticResultKey(String, GrammarBuilder[]) |
Assigne une clé sémantique à un ou plusieurs objets GrammarBuilder utilisés pour créer une syntaxe de reconnaissance vocale. |
SemanticResultKey(String, String[]) |
Assigne une clé sémantique à une ou plusieurs instances String utilisées pour créer une syntaxe de reconnaissance vocale. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToGrammarBuilder() |
Retourne une instance de GrammarBuilder construite à partir de l'instance SemanticResultKey actuelle. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |