Bagikan melalui


SemanticResultKey Kelas

Definisi

Mengaitkan string kunci dengan SemanticResultValue nilai untuk menentukan SemanticValue objek.

public ref class SemanticResultKey
public class SemanticResultKey
type SemanticResultKey = class
Public Class SemanticResultKey
Warisan
SemanticResultKey

Contoh

Contoh berikut membuat Grammar untuk mengenali input kata sandi dari formulir "Kata sandi saya adalah ...", di mana input aktual dicocokkan dengan wildcard.

Kartubebas ditandai dengan kunci semantik, dan SpeechRecognized handler memeriksa keberadaan tag ini untuk memverifikasi bahwa input kata sandi telah terjadi.

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);

}

Keterangan

Unit dasar ekspresi semantik dalam System.Speech adalah SemanticValue, yang merupakan pasangan kunci/nilai.

Dengan menggunakan SemanticResultKey objek, Anda SemanticResultValue menandai instans yang terkandung dalam GrammarBuilder objek dan string sehingga nilai dapat dengan mudah diakses dari SemanticValue instans saat pengenalan.

Anda dapat menggunakan SemanticResultValue objek dan SemanticResultKey , bersama dengan GrammarBuilder objek dan Choices , untuk menentukan struktur semantik untuk tata bahasa pengenalan ucapan. Untuk mengakses informasi semantik dalam hasil pengenalan, dapatkan instans SemanticValue melalui Semantics properti pada RecognizedPhrase.

Konstruktor

SemanticResultKey(String, GrammarBuilder[])

Menetapkan kunci semantik ke satu atau beberapa GrammarBuilder objek yang digunakan untuk membuat tata bahasa pengenalan ucapan.

SemanticResultKey(String, String[])

Menetapkan kunci semantik ke satu atau beberapa String instans yang digunakan untuk membuat tata bahasa pengenalan ucapan.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ToGrammarBuilder()

Mengembalikan instans yang GrammarBuilder dibuat dari instans saat ini SemanticResultKey .

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga