SemanticResultKey Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Nesneleri tanımlamak SemanticValue için bir anahtar dizesini değerlerle SemanticResultValue ilişkilendirir.
public ref class SemanticResultKey
public class SemanticResultKey
type SemanticResultKey = class
Public Class SemanticResultKey
- Devralma
-
SemanticResultKey
Örnekler
Aşağıdaki örnek, gerçek girişin joker karakterle eşleştirildiği "Parolam ..." formunun parola girişini tanımak için bir oluşturur Grammar .
Joker karakter bir semantik anahtarla etiketlenmiş ve SpeechRecognized işleyici, parola girişinin oluştuğundan emin olmak için bu etiketin varlığını denetler.
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);
}
Açıklamalar
System.Speech'daki temel anlamsal ifade birimi, SemanticValuebir anahtar/değer çifti olan 'dir.
Nesneleri kullanarakSemanticResultKey, nesnelerde ve dizelerde GrammarBuilder bulunan örnekleri etiketlersinizSemanticResultValue, böylece değerlere tanımadaki örneklerden SemanticValue kolayca erişilebilir.
SemanticResultValue Ve SemanticResultKey nesnelerini ve nesneleriyle GrammarBuilderChoices birlikte kullanarak konuşma tanıma dil bilgisi için anlam yapısını tanımlayabilirsiniz. Bir tanıma sonucundaki anlamsal bilgilere erişmek için üzerinde RecognizedPhraseözelliği aracılığıyla bir örneğini SemanticValueSemantics alın.
Oluşturucular
| Name | Description |
|---|---|
| SemanticResultKey(String, GrammarBuilder[]) |
Konuşma tanıma dil bilgisi oluşturmak için kullanılan bir veya daha fazla GrammarBuilder nesneye semantik anahtar atar. |
| SemanticResultKey(String, String[]) |
Konuşma tanıma dil bilgisi oluşturmak için kullanılan bir veya daha fazla String örneğe semantik anahtar atar. |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToGrammarBuilder() |
Geçerli SemanticResultKey örnekten GrammarBuilder yapılan bir örneğini döndürür. |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |