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
- confidence
- Single
Um float
valor de 0.0 a 1.0 indicando a certeza do reconhecimento da palavra.
- pronunciation
- String
A ortografia fonética de uma palavra reconhecida.
Esse valor pode ser null
, "" ou Empty.
- lexicalForm
- String
O texto não normalizado de uma palavra reconhecida.
Esse argumento é necessário e não pode ser null
, "" ou Empty.
- displayAttributes
- DisplayAttributes
Define o uso de 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 do áudio entrada correspondente à palavra reconhecida.
Este valor pode ser Zero.
Exemplos
O exemplo a seguir é um teste um tanto 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
forem null
, "" ou Empty e o RecognizedWordUnit for 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 ou EmulateRecognizeAsync da SpeechRecognitionEngine classe e os EmulateRecognize métodos ou EmulateRecognizeAsync da SpeechRecognizer classe .
Para aplicativos reais, não construa RecognizedWordUnitdiretamente , em vez de obtê-lo por meio da Words propriedade no RecognizedPhrase objeto .