SemanticResultKey Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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) |