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 de uma palavra reconhecida.

Esse valor pode ser null, "" ou Empty.

confidence
Single

Um float valor de 0.0 a 1.0 indicando a certeza do reconhecimento da palavra.

pronunciation
String

A ortografia fonética de uma palavra reconhecida.

Esse valor pode ser null, "" ou Empty.

lexicalForm
String

O texto não normalizado de uma palavra reconhecida.

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

displayAttributes
DisplayAttributes

Define o uso de 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 do áudio entrada correspondente à palavra reconhecida.

Este valor pode ser Zero.

Exemplos

O exemplo a seguir é um teste um tanto 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 forem null, "" ou Empty e o RecognizedWordUnit for 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 ou EmulateRecognizeAsync da SpeechRecognitionEngine classe e os EmulateRecognize métodos ou EmulateRecognizeAsync da SpeechRecognizer classe .

Para aplicativos reais, não construa RecognizedWordUnitdiretamente , em vez de obtê-lo por meio da Words propriedade no RecognizedPhrase objeto .

Aplica-se a

Confira também