RecognizedWordUnit 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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)
매개 변수
- confidence
- Single
float 단어 인식의 확실성을 나타내는 0.0에서 1.0까지의 값입니다.
- displayAttributes
- DisplayAttributes
인식된 단어를 표시하는 데 공백을 사용하는 방법을 정의합니다.
예제
다음 예제는 입력에서 새 단어가 생성되고 에뮬레이터에 전달된 다음 확인되는 에뮬레이션의 다소 모순된 테스트입니다.
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 통해 가져옵니다.