SemanticResultKey Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Koppelt een sleuteltekenreeks aan SemanticResultValue waarden om objecten te definiëren SemanticValue .
public ref class SemanticResultKey
public class SemanticResultKey
type SemanticResultKey = class
Public Class SemanticResultKey
- Overname
-
SemanticResultKey
Voorbeelden
In het volgende voorbeeld wordt een Grammar wachtwoordinvoer van het formulier 'Mijn wachtwoord is ...' gemaakt, waarbij de werkelijke invoer overeenkomt met een jokerteken.
Het jokerteken wordt gelabeld met een semantische sleutel en de SpeechRecognized handler controleert op de aanwezigheid van deze tag om te controleren of er een wachtwoordinvoer is opgetreden.
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);
}
Opmerkingen
De basiseenheid van semantische expressie in System.Speech is de SemanticValue, een sleutel-waardepaar.
Met behulp van SemanticResultKey objecten tagt SemanticResultValue u exemplaren in GrammarBuilder objecten en tekenreeksen, zodat de waarden gemakkelijk kunnen worden geopend vanuit SemanticValue exemplaren voor herkenning.
U kunt en SemanticResultKey objecten, in combinatie met GrammarBuilder en Choices objecten, gebruiken SemanticResultValue om de semantische structuur voor een grammatica voor spraakherkenning te definiëren. Als u toegang wilt krijgen tot de semantische informatie in een herkenningsresultaat, moet u een exemplaar verkrijgen van SemanticValue via de Semantics eigenschap op RecognizedPhrase.
Constructors
| Name | Description |
|---|---|
| SemanticResultKey(String, GrammarBuilder[]) |
Hiermee wordt een semantische sleutel toegewezen aan een of meer GrammarBuilder objecten die worden gebruikt om een grammatica voor spraakherkenning te maken. |
| SemanticResultKey(String, String[]) |
Wijst een semantische sleutel toe aan een of meer String exemplaren die worden gebruikt om een grammatica voor spraakherkenning te maken. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToGrammarBuilder() |
Retourneert een exemplaar van GrammarBuilder het huidige SemanticResultKey exemplaar. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |