다음을 통해 공유


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

단어 인식의 확신도를 나타내는 0.0에서 1.0까지의 float

pronunciation
String

인식된 단어의 발음 기호입니다.

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

lexicalForm
String

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

이 인수는 필수이며 null, "" 또는 Empty일 수 없습니다.

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 또는 pronunciation 됩니다 null, "", 또는 EmptyRecognizedWordUnit 는 인식 엔진은 출력에서 적절 한 값을 생성 하는 데 인식 작업에서 RecognizedWordUnit 인스턴스.

직접 생성 RecognizedWordUnit 인스턴스 일반적으로 사용 하 여 인식 작업을 에뮬레이션 하는 경우에 사용 되는 합니다 EmulateRecognize 또는 EmulateRecognizeAsync 의 메서드를 SpeechRecognitionEngine 클래스 및 EmulateRecognize 또는 EmulateRecognizeAsync 메서드를 SpeechRecognizer 클래스입니다.

실제 애플리케이션에 대 한 직접를 생성 하지 마십시오 RecognizedWordUnit를 통해 가져오는 대신를 Words 속성에는 RecognizedPhrase 개체.

적용 대상

추가 정보