Condividi tramite


RecognizedWordUnit Costruttore

Definizione

Inizializza una nuova istanza della 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)

Parametri

text
String

Il testo normalizzato per una parola riconosciuta.

Questo valore può essere null, "", o Empty.

confidence
Single

Un valore float da 0,0 a 1,0 che indica la certezza del riconoscimento delle parole.

pronunciation
String

L'ortografia fonetica di una parola riconosciuta.

Questo valore può essere null, "", o Empty.

lexicalForm
String

Il testo non normalizzato per una parola riconosciuta.

Questo argomento è obbligatorio e non può essere null, "" o Empty.

displayAttributes
DisplayAttributes

Definisce l'utilizzo dello spazio vuoto per visualizzare le parole riconosciute.

audioPosition
TimeSpan

Il percorso della parola riconosciuta nel flusso di input audio.

Il valore può essere Zero.

audioDuration
TimeSpan

La lunghezza dell'input audio che corrisponde all'input della parola riconosciuta.

Il valore può essere Zero.

Esempio

L'esempio seguente è un test contrived di emulazione, in cui vengono generate nuove parole dall'input e passate all'emulatore e quindi verificate.

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

Commenti

Se text o pronunciation sono null, "" o Empty e viene RecognizedWordUnit usato in un'operazione di riconoscimento, il motore di riconoscimento genererà i valori appropriati in qualsiasi istanza di output RecognizedWordUnit .

La costruzione diretta delle RecognizedWordUnit istanze viene in genere usata solo quando si emula operazioni di riconoscimento usando i EmulateRecognize metodi o EmulateRecognizeAsync della SpeechRecognitionEngine classe e i EmulateRecognize metodi o EmulateRecognizeAsync della SpeechRecognizer classe .

Per le applicazioni effettive, non costruire RecognizedWordUnitdirettamente , anziché ottenerlo tramite la Words proprietà sull'oggetto RecognizedPhrase .

Si applica a

Vedi anche