다음을 통해 공유


RecognizedWordUnit 생성자

정의

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)

매개 변수

text
String

인식된 단어의 정규화된 텍스트입니다.

이 값은 null"", 또는 Empty.일 수 있습니다.

confidence
Single

float 단어 인식의 확실성을 나타내는 0.0에서 1.0까지의 값입니다.

pronunciation
String

인식된 단어의 윗주 맞춤법입니다.

이 값은 null"", 또는 Empty.일 수 있습니다.

lexicalForm
String

인식된 단어의 정렬되지 않은 텍스트입니다.

이 인수는 필수이며 , "" 또는 Empty.이 아닐 null수 있습니다.

displayAttributes
DisplayAttributes

인식된 단어를 표시하는 데 공백을 사용하는 방법을 정의합니다.

audioPosition
TimeSpan

오디오 입력 스트림에서 인식된 단어의 위치입니다.

이 값은 Zero일 수 있습니다.

audioDuration
TimeSpan

인식된 단어에 해당하는 오디오 입력의 길이입니다.

이 값은 Zero일 수 있습니다.

예제

다음 예제는 입력에서 새 단어가 생성되고 에뮬레이터에 전달된 다음 확인되는 에뮬레이션의 다소 모순된 테스트입니다.

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

설명

인식 작업에 사용되는 경우 text 인식 엔진은 출력 RecognizedWordUnit 인스턴스에서 적절한 값을 생성합니다.pronunciationnullEmptyRecognizedWordUnit

인스턴스의 RecognizedWordUnit 직접 생성은 일반적으로 클래스의 메서드 및 EmulateRecognizeAsyncEmulateRecognize 클래스 또는 EmulateRecognizeAsync 메서드 SpeechRecognitionEngineSpeechRecognizer 를 사용하여 EmulateRecognize 인식 작업을 에뮬레이트할 때만 사용됩니다.

실제 애플리케이션의 경우 직접 생성 RecognizedWordUnit하지 말고 개체의 Words 속성을 RecognizedPhrase 통해 가져옵니다.

적용 대상

추가 정보