Aracılığıyla paylaş


SemanticResultKey Sınıf

Tanım

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)

Şunlara uygulanır

Ayrıca bkz.