RecognizedWordUnit Construtor
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa uma nova instância da classe 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)
Parâmetros
- text
- String
O texto normalizado para uma palavra reconhecida.
Esse valor pode ser null, "" ou Empty.
- confidence
- Single
Um float valor de 0,0 a 1,0 que indica a certeza do reconhecimento de palavras.
- pronunciation
- String
A ortografia fonética de uma palavra reconhecida.
Esse valor pode ser null, "" ou Empty.
- lexicalForm
- String
O texto não desnormalizado para uma palavra reconhecida.
Esse argumento é necessário e pode não ser null, "" ou Empty.
- displayAttributes
- DisplayAttributes
Define o uso do espaço em branco para exibir palavras reconhecidas.
- audioPosition
- TimeSpan
O local da palavra reconhecida no fluxo de entrada de áudio.
Este valor pode ser Zero.
- audioDuration
- TimeSpan
O comprimento da entrada de áudio correspondente à palavra reconhecida.
Este valor pode ser Zero.
Exemplos
O exemplo a seguir é um teste um pouco inventado de emulação, em que novas palavras são geradas a partir da entrada e passadas para o emulador e, em seguida, verificadas.
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;
}
}
}
}
Comentários
Se text ou pronunciation for null, "" ou Empty se for RecognizedWordUnit usado em uma operação de reconhecimento, o mecanismo de reconhecimento gerará valores apropriados em qualquer instância de saída RecognizedWordUnit .
A construção direta de RecognizedWordUnit instâncias normalmente é usada somente ao emular operações de reconhecimento usando os EmulateRecognize métodos da SpeechRecognitionEngine classe ou EmulateRecognizeAsync os EmulateRecognize métodos da SpeechRecognizer classe.EmulateRecognizeAsync
Para aplicativos reais, não construa RecognizedWordUnitdiretamente, em vez disso, obtenha-o por meio da Words propriedade no RecognizedPhrase objeto.