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 için bir anahtar dizeyi değerlerle SemanticResultValue ilişkilendirir SemanticValue .
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ştiğ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 gerçekleştiğini doğrulamak 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, SemanticValueanahtar/değer çifti olan değeridir.
Nesneleri kullanarakSemanticResultKey, nesnelerde ve dizelerde GrammarBuilder bulunan örnekleri etiketlersinizSemanticResultValue, böylece değerlere tanımadaki örneklerden SemanticValue kolayca erişilebilir.
SemanticResultValue SemanticResultKey Ve nesnelerini ve Choices nesneleriyle GrammarBuilder birlikte kullanarak konuşma tanıma dil bilgisi anlam yapısını tanımlayabilirsiniz. Tanıma sonucundaki anlamsal bilgilere erişmek için üzerindeki RecognizedPhraseözelliği aracılığıyla bir örneğini SemanticValueSemantics alın.
Oluşturucular
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
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() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ 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 dizeyi döndürür. (Devralındığı yer: Object) |