SemanticResultKey Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přidruží řetězec klíče k hodnotám SemanticResultValue pro definování SemanticValue objektů.
public ref class SemanticResultKey
public class SemanticResultKey
type SemanticResultKey = class
Public Class SemanticResultKey
- Dědičnost
-
SemanticResultKey
Příklady
Následující příklad vytvoří Grammar pro rozpoznání zadání hesla ve formátu "Moje heslo je...", kde se skutečný vstup shoduje se zástupným znakem.
Zástupný znak je označen sémantickým klíčem a SpeechRecognized obslužná rutina kontroluje přítomnost této značky, aby ověřila, že došlo k zadání hesla.
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);
}
Poznámky
Základní jednotkou sémantického výrazu v System.Speech je SemanticValue, což je pár klíč/hodnota.
Pomocí SemanticResultKey objektů označíte SemanticResultValue instance obsažené v GrammarBuilder objektech a řetězcích tak, aby k hodnotám bylo možné snadno přistupovat z SemanticValue instancí při rozpoznávání.
Objekty a SemanticResultKey ve spojení s GrammarBuilder objekty a Choices můžete SemanticResultValue definovat sémantickou strukturu gramatiky rozpoznávání řeči. Pokud chcete získat přístup k sémantickým informacím ve výsledku rozpoznávání, získejte instanci SemanticValue prostřednictvím Semantics vlastnosti v .RecognizedPhrase
Konstruktory
SemanticResultKey(String, GrammarBuilder[]) |
Přiřadí sémantický klíč jednomu nebo více GrammarBuilder objektům použitým k vytvoření gramatiky rozpoznávání řeči. |
SemanticResultKey(String, String[]) |
Přiřadí sémantický klíč k jedné nebo více String instancí sloužících k vytvoření gramatiky rozpoznávání řeči. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToGrammarBuilder() |
Vrátí instanci GrammarBuilder vytvořené z aktuální SemanticResultKey instance. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |