RecognizedWordUnit Konstruktor
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.
Menginisialisasi instans baru kelas RecognizedWordUnit.
public:
RecognizedWordUnit(System::String ^ text, float confidence, System::String ^ pronunciation, System::String ^ lexicalForm, System::Speech::Recognition::DisplayAttributes displayAttributes, TimeSpan audioPosition, TimeSpan audioDuration);
public RecognizedWordUnit (string text, float confidence, string pronunciation, string lexicalForm, System.Speech.Recognition.DisplayAttributes displayAttributes, TimeSpan audioPosition, TimeSpan audioDuration);
new System.Speech.Recognition.RecognizedWordUnit : string * single * string * string * System.Speech.Recognition.DisplayAttributes * TimeSpan * TimeSpan -> System.Speech.Recognition.RecognizedWordUnit
Public Sub New (text As String, confidence As Single, pronunciation As String, lexicalForm As String, displayAttributes As DisplayAttributes, audioPosition As TimeSpan, audioDuration As TimeSpan)
Parameter
- confidence
- Single
Nilai float
dari 0,0 hingga 1,0 menunjukkan kepastian pengenalan kata.
- lexicalForm
- String
Teks yang tidak dinormalisasi untuk kata yang dikenali.
Argumen ini diperlukan dan mungkin null
bukan , "", atau Empty.
- displayAttributes
- DisplayAttributes
Menentukan penggunaan spasi kosong untuk menampilkan kata-kata yang dikenali.
- audioPosition
- TimeSpan
Lokasi kata yang dikenali dalam aliran input audio.
Nilai ini bisa berupa Zero.
- audioDuration
- TimeSpan
Panjang input audio yang sesuai dengan kata yang dikenali.
Nilai ini bisa berupa Zero.
Contoh
Contoh berikut adalah pengujian emulasi yang agak sulit, di mana kata-kata baru dihasilkan dari input dan diteruskan ke emulator, lalu diverifikasi.
private void _emulateAndVerify_Click(object sender, EventArgs e)
{
char[] delimiterChars = { ' ', ',', '.', ':', ';', '\t' };
string text = _emulateTextBox.Text;
string[] words = text.Split(delimiterChars);
RecognizedWordUnit[] InputWordUnits = new RecognizedWordUnit[words.Length];
for (int i = 0; i < words.Length; i++)
{
InputWordUnits[i] = new RecognizedWordUnit(
"",
0,
"",
words[i].ToLower(),
DisplayAttributes.OneTrailingSpace,
new TimeSpan(),
new TimeSpan());
}
RecognitionResult rec = _recognizer.EmulateRecognize(
InputWordUnits,
System.Globalization.CompareOptions.IgnoreCase);
if (rec == null)
{
MessageBox.Show(String.Format("Recognition emulation for {0} failed.\n", text));
}
else if (InputWordUnits.Length != rec.Words.Count)
{
MessageBox.Show(
String.Format("Length mismatch: Input was {0} words, Recognition has {1} words.\n}"));
}
else
{
for (int i = 0; i < InputWordUnits.Length; i++)
{
if (rec.Words[i].LexicalForm.ToLower() != InputWordUnits[i].LexicalForm.ToLower())
{
MessageBox.Show(
String.Format("Input word {0} \"{1}\" not found. Recognition output is {2}",
i, InputWordUnits[i].LexicalForm, rec.Words[i].LexicalForm));
continue;
}
}
}
}
Keterangan
Jika text
atau pronunciation
adalah null
, "", atau Empty dan RecognizedWordUnit digunakan dalam operasi pengenalan, mesin pengenalan akan menghasilkan nilai yang sesuai dalam instans output RecognizedWordUnit apa pun.
Konstruksi RecognizedWordUnit langsung instans biasanya hanya digunakan saat menilui operasi pengenalan menggunakan EmulateRecognize metode atau EmulateRecognizeAsync kelas SpeechRecognitionEngine dan EmulateRecognize metode SpeechRecognizer atau EmulateRecognizeAsync kelas .
Untuk aplikasi aktual, jangan langsung membangun RecognizedWordUnit, lebih baik mendapatkannya melalui Words properti pada RecognizedPhrase objek .