SemanticResultKey Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Associerar en nyckelsträng med SemanticResultValue värden för att definiera SemanticValue objekt.
public ref class SemanticResultKey
public class SemanticResultKey
type SemanticResultKey = class
Public Class SemanticResultKey
- Arv
-
SemanticResultKey
Exempel
I följande exempel skapas en Grammar för att identifiera lösenordsindata i formuläret "Mitt lösenord är ...", där den faktiska inmatningen matchas med ett jokertecken.
Jokertecknet är taggat med en semantisk nyckel och SpeechRecognized hanteraren söker efter förekomsten av den här taggen för att kontrollera att ett lösenord har indata har inträffat.
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);
}
Kommentarer
Den grundläggande enheten för semantiskt uttryck i System.Speech är SemanticValue, som är ett nyckel/värde-par.
Med hjälp av SemanticResultKey objekt taggar SemanticResultValue du instanser som finns i GrammarBuilder objekt och strängar så att värdena lätt kan nås från SemanticValue instanser vid igenkänning.
Du kan använda SemanticResultValue och SemanticResultKey objekt, tillsammans med GrammarBuilder och Choices objekt, för att definiera den semantiska strukturen för en taligenkännings grammatik. Om du vill komma åt semantisk information i ett igenkänningsresultat hämtar du en instans av SemanticValue via egenskapen på SemanticsRecognizedPhrase.
Konstruktorer
| Name | Description |
|---|---|
| SemanticResultKey(String, GrammarBuilder[]) |
Tilldelar en semantisk nyckel till ett eller flera GrammarBuilder objekt som används för att skapa en grammatik för taligenkänning. |
| SemanticResultKey(String, String[]) |
Tilldelar en semantisk nyckel till en eller flera String instanser som används för att skapa en grammatik för taligenkänning. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToGrammarBuilder() |
Returnerar en instans av GrammarBuilder konstruerad från den aktuella SemanticResultKey instansen. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |