Compartilhar via


RecognizedWordUnit Construtor

Definição

Inicializa uma nova instância da classe 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)

Parâmetros

text
String

O texto normalizado para uma palavra reconhecida.

Esse valor pode ser null, "" ou Empty.

confidence
Single

Um float valor de 0,0 a 1,0 que indica a certeza do reconhecimento de palavras.

pronunciation
String

A ortografia fonética de uma palavra reconhecida.

Esse valor pode ser null, "" ou Empty.

lexicalForm
String

O texto não desnormalizado para uma palavra reconhecida.

Esse argumento é necessário e pode não ser null, "" ou Empty.

displayAttributes
DisplayAttributes

Define o uso do espaço em branco para exibir palavras reconhecidas.

audioPosition
TimeSpan

O local da palavra reconhecida no fluxo de entrada de áudio.

Este valor pode ser Zero.

audioDuration
TimeSpan

O comprimento da entrada de áudio correspondente à palavra reconhecida.

Este valor pode ser Zero.

Exemplos

O exemplo a seguir é um teste um pouco inventado de emulação, em que novas palavras são geradas a partir da entrada e passadas para o emulador e, em seguida, verificadas.

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

Comentários

Se text ou pronunciation for null, "" ou Empty se for RecognizedWordUnit usado em uma operação de reconhecimento, o mecanismo de reconhecimento gerará valores apropriados em qualquer instância de saída RecognizedWordUnit .

A construção direta de RecognizedWordUnit instâncias normalmente é usada somente ao emular operações de reconhecimento usando os EmulateRecognize métodos da SpeechRecognitionEngine classe ou EmulateRecognizeAsync os EmulateRecognize métodos da SpeechRecognizer classe.EmulateRecognizeAsync

Para aplicativos reais, não construa RecognizedWordUnitdiretamente, em vez disso, obtenha-o por meio da Words propriedade no RecognizedPhrase objeto.

Aplica-se a

Confira também