RecognizedWordUnit Конструктор
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса 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)
Параметры
- confidence
- Single
Значение от 0,0 до 1.0 float
, указывающий определенность распознавания слова.
- pronunciation
- String
Фонетическое написание распознанного слова.
Возможные значения — null
, "" или Empty.
- lexicalForm
- String
Ненормализованный текст для распознанного слова.
Этот аргумент обязателен и не может быть null
, "" или Empty.
- displayAttributes
- DisplayAttributes
Определяет использование пробелов для отображения распознанных слов.
- audioPosition
- TimeSpan
Расположение распознанного слова во входном звуковом потоке.
Это значение может быть равно Zero.
- audioDuration
- TimeSpan
Длина входных звуковых данных, которые соответствуют распознанному слову.
Это значение может быть равно Zero.
Примеры
В следующем примере показан несколько надуманый тест эмуляции, в котором новые слова создаются из входных данных и передаются в эмулятор, а затем проверяются.
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;
}
}
}
}
Комментарии
Если text
или pronunciation
имеют null
значение , "" или Empty и RecognizedWordUnit используется в операции распознавания, обработчик распознавания создаст соответствующие значения в любом выходном RecognizedWordUnit экземпляре.
Прямое построение экземпляров RecognizedWordUnit обычно используется только при эмуляции операций распознавания с помощью EmulateRecognize методов SpeechRecognitionEngine или EmulateRecognizeAsync класса и EmulateRecognize или EmulateRecognizeAsyncSpeechRecognizer класса .
Для фактических приложений не создавайте RecognizedWordUnitнапрямую , а получите его с помощью Words свойства объекта RecognizedPhrase .