SemanticResultKey Constructeurs
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.
Construit une instance de SemanticResultKey la clé et associe la clé aux composants de grammaire.
Surcharges
| Nom | Description |
|---|---|
| SemanticResultKey(String, GrammarBuilder[]) |
Affecte une clé sémantique à un ou plusieurs GrammarBuilder objets utilisés pour créer une grammaire de reconnaissance vocale. |
| SemanticResultKey(String, String[]) |
Affecte une clé sémantique à une ou plusieurs String instances utilisées pour créer une grammaire de reconnaissance vocale. |
Remarques
Les constructeurs pour SemanticResultKey spécifier une balise de texte (la clé sémantique) et un ensemble de composants de grammaire à ajouter à une grammaire de reconnaissance vocale.
Les composants de grammaire peuvent être spécifiés sous la forme d’un tableau d’objets GrammarBuilder ou sous la forme d’un tableau d’instances String .
Si les composants de grammaire sont utilisés en reconnaissance, vous pouvez accéder au retour SemanticValue à l’aide de la balise de texte fournie au constructeur d’une SemanticResultKey clé sémantique. La Value propriété de l’instance SemanticValue sera déterminée par les composants de grammaire utilisés dans la définition de SemanticResultKey.
SemanticResultKey(String, GrammarBuilder[])
- Source:
- SemanticResultKey.cs
- Source:
- SemanticResultKey.cs
- Source:
- SemanticResultKey.cs
- Source:
- SemanticResultKey.cs
Affecte une clé sémantique à un ou plusieurs GrammarBuilder objets utilisés pour créer une grammaire de reconnaissance vocale.
public:
SemanticResultKey(System::String ^ semanticResultKey, ... cli::array <System::Speech::Recognition::GrammarBuilder ^> ^ builders);
public SemanticResultKey(string semanticResultKey, params System.Speech.Recognition.GrammarBuilder[] builders);
new System.Speech.Recognition.SemanticResultKey : string * System.Speech.Recognition.GrammarBuilder[] -> System.Speech.Recognition.SemanticResultKey
Public Sub New (semanticResultKey As String, ParamArray builders As GrammarBuilder())
Paramètres
- semanticResultKey
- String
Balise à utiliser comme clé sémantique pour accéder à l’instance SemanticValue associée aux GrammarBuilder objets spécifiés par l’argument builders .
- builders
- GrammarBuilder[]
Tableau de composants de grammaire qui seront associés à un SemanticValue objet accessible avec la balise définie dans semanticResultKey.
Exemples
L’exemple suivant crée une Grammar entrée de mot de passe pour reconnaître l’entrée de mot de passe du formulaire « 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é par une SpeechRecognizer valeur de clé dont la valeur de clé est « Mot de passe ». Le SpeechRecognized gestionnaire vérifie la présence de cette balise, obtient l’entrée audio du mot de passe et vérifie le mot de passe.
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
En raison de conversions implicites, l’argument builders prend également en charge SemanticResultValue, SemanticResultKey, Choiceset String les objets. Pour plus d’informations sur les conversions implicites, consultez Implicit.
Lors de l’exécution d’une opération de reconnaissance, les GrammarBuilder objets fournis dans l’argument builders sont traités comme séquentiels. Par exemple, si les éléments suivants SemanticResultValue sont utilisés pour construire un Grammar, l’entrée du moteur de reconnaissance doit contenir les mots « le renard brun rapide » dans la séquence à reconnaître.
SemanticResultKey stringTest=new SemanticResultKey(
"stringTest", new GrammarBuilder[] {
new GrammarBuilder("the"),
new GrammarBuilder("quick"),
new GrammarBuilder("brown"),
new GrammarBuilder("fox")});
L’argument semanticResultKey contient la balise utilisée pour accéder à celui SemanticValue qui peut être retourné.
SemanticValue Le Value paramètre détermine les GrammarBuilder instances fournies par le builders paramètre.
Si les GrammarBuilder objets ne contiennent aucune instance SemanticResultValuede définition, la valeur de l’objet SemanticValue est null.
Si les GrammarBuilder objets fournis dans le builders paramètre fournissent une instance non marquée (non associée à un SemanticResultKey objet) SemanticResultValue utilisée par la logique de reconnaissance, cette instance SemanticResultValue définit la Value propriété du SemanticValue produit.
Il doit y avoir une seule instance non marquée SemanticResultValue dans les GrammarBuilder objets spécifiés par le builders paramètre. Si plusieurs instances non marquées SemanticResultValue sont associées SemanticResultKeyau paramètre , chacune tente de définir la valeur du produit dans le résultat de SemanticValue reconnaissance. Cela n’est pas autorisé et le module de reconnaissance génère une exception lorsqu’il tente d’utiliser une Grammar instance créée à l’aide d’une SemanticResultKey telle instance.
Les instances contenues SemanticResultValue dans les GrammarBuilder objets spécifiés par le builders paramètre et déjà associées à une autre SemanticResultKey n’ont aucun effet sur l’instance actuelle SemanticResultKey .
S’applique à
SemanticResultKey(String, String[])
- Source:
- SemanticResultKey.cs
- Source:
- SemanticResultKey.cs
- Source:
- SemanticResultKey.cs
- Source:
- SemanticResultKey.cs
Affecte une clé sémantique à une ou plusieurs String instances utilisées pour créer une grammaire de reconnaissance vocale.
public:
SemanticResultKey(System::String ^ semanticResultKey, ... cli::array <System::String ^> ^ phrases);
public SemanticResultKey(string semanticResultKey, params string[] phrases);
new System.Speech.Recognition.SemanticResultKey : string * string[] -> System.Speech.Recognition.SemanticResultKey
Public Sub New (semanticResultKey As String, ParamArray phrases As String())
Paramètres
- semanticResultKey
- String
La balise à utiliser accède à l’instance SemanticValue associée aux String objets spécifiés par l’argument phrases .
- phrases
- String[]
Un ou plusieurs String objets, dont le texte concaténé est associé à un SemanticValue objet accessible avec la balise définie dans semanticResultKey.
Exemples
L’exemple suivant crée un GrammarGrammarBuilder objet qui utilise un SemanticResultKey, qui est défini par un tableau d’objets String .
Un moteur de reconnaissance à l’aide de la Grammar création reconnaît l’expression « couleur rouge vert zéro bleu zéro ». La sémantique du RecognizedPhrase retour par reconnaissance contiendra un SemanticValueValue « bleu vert rouge ». Vous pouvez accéder à l’aide de SemanticValue la balise « code ».
En raison de l’ajout SemanticResultValue("zero", 5) à l’objet GrammarBuilderracine dans le RecognizedPhrase fichier, la valeur 5 est définie sur l’objet racineSemanticValue.
private void keyTest()
{
// Say "color red green blue zero"
GrammarBuilder gb = new GrammarBuilder("color") +
new SemanticResultKey("code",
(new string[] {"red", "green", "blue"})) +
new SemanticResultValue("zero", 5);
Grammar g = new Grammar(gb);
g.Name = "keyTest";
_recognizer.LoadGrammar(g);
}
Remarques
Lors de l’exécution d’une opération de reconnaissance, les String objets utilisés dans le phrases paramètre sont traités comme séquentiels. Par exemple, si les éléments suivants SemanticResultValue sont utilisés pour construire un Grammar, l’entrée du moteur de reconnaissance doit contenir les mots « le renard brun rapide » dans la séquence à reconnaître.
SemanticResultKey stringTest=new SemanticResultKey("stringTest",
new string[] {
"the",
"quick",
"brown",
"fox"});
L’argument semanticResultKey détermine la clé utilisée pour accéder à celui SemanticValue qui peut être retourné.
Si vous construisez un Grammar objet à l’aide d’une GrammarBuilder clé sémantique avec un tableau d’objets de chaîne, la ValueSemanticValue chaîne produite par une opération de reconnaissance sera la chaîne utilisée dans la reconnaissance. Dans l’exemple précédent, cela signifie que Value ce serait « le renard brun rapide ».