Sdílet prostřednictvím


RecognizedWordUnit Konstruktor

Definice

Inicializuje novou instanci RecognizedWordUnit třídy .

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)

Parametry

text
String

Normalizovaný text rozpoznané slovo.

Tato hodnota může být null, "" nebo Empty.

confidence
Single

float Hodnota od 0,0 do 1,0 označující jistotu rozpoznávání slov.

pronunciation
String

Fonetický pravopis rozpoznaného slova

Tato hodnota může být null, "" nebo Empty.

lexicalForm
String

Nenormalizovaný text rozpoznaného slova.

Tento argument je povinný a nesmí být null, nebo Empty.

displayAttributes
DisplayAttributes

Definuje použití prázdných znaků k zobrazení rozpoznaných slov.

audioPosition
TimeSpan

Umístění rozpoznaného slova ve streamu zvukového vstupu.

Tato hodnota může být Zero.

audioDuration
TimeSpan

Délka zvukového vstupu odpovídající rozpoznaného slova.

Tato hodnota může být Zero.

Příklady

Následující příklad je poněkud vymyšlený test emulace, kdy jsou nová slova generována ze vstupu, předána emulátoru a následně ověřena.

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

Poznámky

Pokud text jsou nullnebo pronunciation , nebo Empty a RecognizedWordUnit použije se v operaci rozpoznávání, modul rozpoznávání vygeneruje odpovídající hodnoty v libovolné výstupní RecognizedWordUnit instanci.

Přímá konstrukce RecognizedWordUnit instancí se obvykle používá pouze při emulaci operací rozpoznávání pomocí EmulateRecognize metod SpeechRecognitionEngine nebo EmulateRecognizeAsync třídy a EmulateRecognize metod SpeechRecognizer nebo EmulateRecognizeAsync třídy .

Pro skutečné aplikace nevykonstruujte RecognizedWordUnitpřímo , ale získejte ji prostřednictvím Words vlastnosti objektu RecognizedPhrase .

Platí pro

Viz také