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

Testo normalizzato per una parola riconosciuta.

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

confidence
Single

Valore float compreso tra 0,0 e 1,0 che indica la certezza del riconoscimento delle parole.

pronunciation
String

Ortografia fonetica di una parola riconosciuta.

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

lexicalForm
String

Testo non conmalizzato per una parola riconosciuta.

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

displayAttributes
DisplayAttributes

Definisce l'uso di spazi vuoti per visualizzare parole riconosciute.

audioPosition
TimeSpan

Posizione della parola riconosciuta nel flusso di input audio.

Il valore può essere Zero.

audioDuration
TimeSpan

Lunghezza dell'input audio corrispondente alla parola riconosciuta.

Il valore può essere Zero.

Esempio

L'esempio seguente è un test contrived dell'emulazione, in cui le nuove parole vengono generate 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 RecognizedWordUnit viene usato in un'operazione di riconoscimento, il motore di riconoscimento genererà i valori appropriati in qualsiasi istanza di output RecognizedWordUnit .

La costruzione diretta delle istanze viene in genere usata solo quando emulare operazioni di RecognizedWordUnit 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