Aracılığıyla paylaş


RecognizedWordUnit Oluşturucu

Tanım

RecognizedWordUnit sınıfının yeni bir örneğini başlatır.

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)

Parametreler

text
String

Tanınan bir sözcüğün normalleştirilmiş metni.

Bu değer , "" veya Emptyolabilirnull.

confidence
Single

float Sözcük tanımanın kesinliğini gösteren 0,0 ile 1,0 arasında bir değer.

pronunciation
String

Tanınan bir sözcüğün fonetik yazım denetimi.

Bu değer , "" veya Emptyolabilirnull.

lexicalForm
String

Tanınan bir sözcüğün normalleştirilmemiş metni.

Bu bağımsız değişken gereklidir ve , "" veya Emptyolmayabilirnull.

displayAttributes
DisplayAttributes

Tanınan sözcükleri görüntülemek için boşluk kullanımını tanımlar.

audioPosition
TimeSpan

Ses giriş akışında tanınan sözcüğün konumu.

Bu değer olabilir Zero.

audioDuration
TimeSpan

Tanınan sözcümeye karşılık gelen ses girişinin uzunluğu.

Bu değer olabilir Zero.

Örnekler

Aşağıdaki örnek, girişten yeni sözcüklerin oluşturulup öykünücüye geçirildiği ve ardından doğrulandığı bir şekilde eşleştirilmiş bir öykünme testidir.

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;
      }
    }
  }
}

Açıklamalar

veya nullpronunciation ise , "" veya Empty ise ve RecognizedWordUnit bir tanıma işleminde kullanılıyorsatext, tanıma altyapısı herhangi bir çıkış RecognizedWordUnit örneğinde uygun değerler oluşturur.

Örneklerin doğrudan oluşturulması genellikle yalnızca sınıfın RecognizedWordUnit veya yöntemlerini ve EmulateRecognize sınıfın EmulateRecognize veya EmulateRecognizeAsyncEmulateRecognizeAsync yöntemlerini SpeechRecognitionEngine kullanarak tanıma işlemlerini öykünme sırasında SpeechRecognizer kullanılır.

Gerçek uygulamalar için doğrudan oluşturmayın RecognizedWordUnit, bunun yerine nesnedeki WordsRecognizedPhrase özelliği aracılığıyla alın.

Şunlara uygulanır

Ayrıca bkz.