RecognizedWordUnit Konstruktor
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Initialisiert eine neue Instanz der RecognizedWordUnit-Klasse.
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)
Parameter
- confidence
- Single
Ein float Wert von 0,0 bis 1,0, der die Sicherheit der Worterkennung angibt.
- pronunciation
- String
Die phonetische Schreibweise eines erkannten Worts.
Dieser Wert kann null, "" oder Empty.
- lexicalForm
- String
Der nichtnormalisierte Text für ein erkanntes Wort.
Dieses Argument ist erforderlich und darf nicht null" oder Empty.
- displayAttributes
- DisplayAttributes
Definiert die Verwendung von Leerzeichen zum Anzeigen erkannter Wörter.
- audioPosition
- TimeSpan
Die Position des erkannten Worts im Audioeingabedatenstrom.
Dieser Wert kann Zero sein.
- audioDuration
- TimeSpan
Die Länge der Audioeingabe, die dem erkannten Wort entspricht.
Dieser Wert kann Zero sein.
Beispiele
Im folgenden Beispiel handelt es sich um einen etwas konktiven Test der Emulation, bei dem neue Wörter aus der Eingabe generiert und an den Emulator übergeben und dann überprüft werden.
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;
}
}
}
}
Hinweise
Wenn text das Erkennungsmodul " pronunciation " oder "" ist nulloder Empty in RecognizedWordUnit einem Erkennungsvorgang verwendet wird, generiert das Erkennungsmodul in jeder Ausgabeinstanz RecognizedWordUnit entsprechende Werte.
Direktes Erstellen von Instanzen wird in der RecognizedWordUnit Regel nur verwendet, wenn Erkennungsvorgänge mithilfe EmulateRecognize der SpeechRecognitionEngine Klassen oder EmulateRecognizeAsync Methoden der Klasse und der EmulateRecognize Methoden EmulateRecognizeAsync der SpeechRecognizer Klasse emuliert werden.
Erstellen Sie bei tatsächlichen Anwendungen nicht direkt RecognizedWordUnit, sondern rufen Sie sie über die Words Eigenschaft des RecognizedPhrase Objekts ab.