RecognizedWordUnit Konstruktor
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy 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)
Parametry
- text
- String
Znormalizowany tekst rozpoznanego wyrazu.
Ta wartość może mieć null
wartość , "" lub Empty.
- confidence
- Single
float
Wartość z zakresu od 0,0 do 1,0 wskazująca pewność rozpoznawania wyrazów.
- pronunciation
- String
Fonetyczne pisownia rozpoznanego słowa.
Ta wartość może mieć null
wartość , "" lub Empty.
- lexicalForm
- String
Nieznormalizowany tekst rozpoznanego wyrazu.
Ten argument jest wymagany i może nie być null
, "" lub Empty.
- displayAttributes
- DisplayAttributes
Definiuje użycie białych znaków do wyświetlania rozpoznanych wyrazów.
- audioPosition
- TimeSpan
Lokalizacja rozpoznanego słowa w strumieniu wejściowym audio.
Ta wartość może mieć wartość Zero.
- audioDuration
- TimeSpan
Długość danych wejściowych audio odpowiadających rozpoznanemu słowu.
Ta wartość może mieć wartość Zero.
Przykłady
Poniższy przykład to nieco wymyślony test emulacji, w którym nowe wyrazy są generowane na podstawie danych wejściowych i przekazywane do emulatora, a następnie weryfikowane.
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;
}
}
}
}
Uwagi
Jeśli text
element lub null
pronunciation
ma wartość "" lub Empty i RecognizedWordUnit jest używany w operacji rozpoznawania, aparat rozpoznawania wygeneruje odpowiednie wartości w dowolnym wystąpieniu wyjściowymRecognizedWordUnit.
Bezpośrednia RecognizedWordUnit konstrukcja wystąpień jest zwykle używana tylko w przypadku emulowania operacji rozpoznawania przy użyciu EmulateRecognize metod SpeechRecognitionEngine lub EmulateRecognizeAsync klasy i EmulateRecognize metod SpeechRecognizer klasy lubEmulateRecognizeAsync.
W przypadku rzeczywistych aplikacji nie konstruuj RecognizedWordUnitbezpośrednio elementu , a nie pobieraj go za pośrednictwem Words właściwości obiektu RecognizedPhrase .