RecognizedWordUnit Oluşturucu
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.
RecognizedWordUnit sınıfının yeni bir örneğini başlatır.
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)
Parametreler
- confidence
- Single
float
Sözcük tanımanın kesinliğini belirten 0,0 ile 1,0 arasında bir değer.
- lexicalForm
- String
Tanınan bir sözcüğün normalleştirilmemiş metni.
Bu bağımsız değişken gereklidir ve , "" veya Emptyolmayabilirnull
.
- displayAttributes
- DisplayAttributes
Tanınan sözcükleri görüntülemek için boşluk kullanımını tanımlar.
- audioDuration
- TimeSpan
Tanınan kelimeye karşılık gelen ses girişinin uzunluğu.
Bu değer olabilir Zero.
Örnekler
Aşağıdaki örnek, girişten yeni sözcüklerin oluşturulup öykünücüye geçirildiği ve ardından doğrulandığı, kısmen eşleştirilmiş bir öykünme testidir.
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;
}
}
}
}
Açıklamalar
veya null
pronunciation
ise Empty ve RecognizedWordUnit bir tanıma işleminde kullanılıyorsatext
, tanıma altyapısı herhangi bir çıkış RecognizedWordUnit örneğinde uygun değerler oluşturur.
Örneklerin doğrudan oluşturulması genellikle yalnızca sınıfın RecognizedWordUnit veya yöntemlerini ve EmulateRecognize sınıfın EmulateRecognizeSpeechRecognitionEngine veya EmulateRecognizeAsyncEmulateRecognizeAsync yöntemlerini kullanarak tanıma işlemlerini öykünme SpeechRecognizer sırasında kullanılır.
Gerçek uygulamalar için, nesnesindeki Words özelliği aracılığıyla doğrudan oluşturmayın.RecognizedWordUnitRecognizedPhrase