共用方式為


RecognizedWordUnit 建構函式

定義

初始化 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)

參數

text
String

是對應已識別單字的正規化文字。

此值可為 null、 「」或 Empty

confidence
Single

0.0 float 到 1.0 的數值表示單字辨識的確定性。

pronunciation
String

一個被認可單字的拼音。

此值可為 null、 「」或 Empty

lexicalForm
String

非正規化的文字代表已識別的單字。

此論證是必備的,且可能不一定是 null、 、 Empty或 。

displayAttributes
DisplayAttributes

定義了使用留白來顯示已識別單字的方法。

audioPosition
TimeSpan

識別字詞在音訊輸入流中的位置。

這個值可以是 Zero

audioDuration
TimeSpan

對應識別字詞的音訊輸入長度。

這個值可以是 Zero

範例

以下範例是一個較為刻意的模擬測試,從輸入產生新字並傳遞給模擬器,然後進行驗證。

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

備註

textpronunciationnull、 「」或 Empty ,且 在 RecognizedWordUnit 識別操作中使用,識別引擎會在任一輸出 RecognizedWordUnit 實例中產生適當的值。

直接建構RecognizedWordUnit實例通常僅在模擬識別EmulateRecognize操作時使用類別SpeechRecognitionEngine的 or EmulateRecognizeAsync 方法及其 EmulateRecognize or EmulateRecognizeAsync 方法SpeechRecognizer

實際應用時,不要直接構造 RecognizedWordUnit,而是透過 Words 物件上的 RecognizedPhrase 屬性來取得。

適用於

另請參閱