Udostępnij za pośrednictwem


SemanticResultKey Klasa

Definicja

Kojarzy ciąg klucza z wartościami SemanticResultValue w celu zdefiniowania SemanticValue obiektów.

public ref class SemanticResultKey
public class SemanticResultKey
type SemanticResultKey = class
Public Class SemanticResultKey
Dziedziczenie
SemanticResultKey

Przykłady

Poniższy przykład tworzy element Grammar w celu rozpoznawania danych wejściowych hasła formularza "Moje hasło jest ...", gdzie rzeczywiste dane wejściowe są dopasowywane do symbolu wieloznacznych.

Symbol wieloznaczny jest oznaczony kluczem semantycznym, a SpeechRecognized program obsługi sprawdza obecność tego tagu, aby sprawdzić, czy wystąpiło wprowadzenie hasła.

private void pwdGrammar()
{
  GrammarBuilder pwdBuilder = new GrammarBuilder("My Password is");
  GrammarBuilder wildcardBuilder = new GrammarBuilder();
  wildcardBuilder.AppendWildcard();
  SemanticResultKey wildcardKey= new SemanticResultKey("Password", wildcardBuilder);
  pwdBuilder+=wildcardKey;
  Grammar grammar = new Grammar(pwdBuilder);
  grammar.Name = "Password input";

  grammar.SpeechRecognized += delegate(object sender, SpeechRecognizedEventArgs eventArgs)
  {
    SemanticValue semantics = eventArgs.Result.Semantics;
    RecognitionResult result=eventArgs.Result;

    if (!semantics.ContainsKey("Password"))
    {
      SpeechUI.SendTextFeedback(eventArgs.Result, "No Password Provided", false);
    }
    else
    {
      RecognizedAudio pwdAudio = result.GetAudioForWordRange(result.Words[3], result.Words[result.Words.Count - 1]);
      MemoryStream pwdMemoryStream = new MemoryStream();
      pwdAudio.WriteToAudioStream(pwdMemoryStream);
      if (!IsValidPwd(pwdMemoryStream))
      {
        string badPwd = System.IO.Path.GetTempPath() + "BadPwd" + (new Random()).Next().ToString() + ".wav";
        FileStream waveStream = new FileStream(badPwd, FileMode.Create);
        pwdAudio.WriteToWaveStream(waveStream);
        waveStream.Flush();
        waveStream.Close();
        SpeechUI.SendTextFeedback(eventArgs.Result, "Invalid Password", false);

      }
    }
  };
  grammar.Enabled = true;
  _recognizer.LoadGrammar(grammar);
  UpdateGrammarTree(_grammarTreeView, _recognizer);

}

Uwagi

Podstawową jednostką wyrażenia semantycznego w pliku System.Speech jest SemanticValuepara klucz/wartość.

Za pomocą SemanticResultKey obiektów oznaczasz SemanticResultValue wystąpienia zawarte w GrammarBuilder obiektach i ciągach, aby można było łatwo uzyskać dostęp do wartości z SemanticValue wystąpień podczas rozpoznawania.

Można używać SemanticResultValue obiektów i SemanticResultKey w połączeniu z obiektami GrammarBuilder i Choices w celu zdefiniowania struktury semantycznej gramatyki rozpoznawania mowy. Aby uzyskać dostęp do informacji semantycznych w wyniku rozpoznawania, uzyskaj wystąpienie SemanticValue elementu za pośrednictwem właściwości w elemSemantics.RecognizedPhrase

Konstruktory

SemanticResultKey(String, GrammarBuilder[])

Przypisuje klucz semantyczny do co najmniej jednego GrammarBuilder obiektu używanego do tworzenia gramatyki rozpoznawania mowy.

SemanticResultKey(String, String[])

Przypisuje klucz semantyczny do co najmniej jednego String wystąpienia używanego do tworzenia gramatyki rozpoznawania mowy.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToGrammarBuilder()

Zwraca wystąpienie GrammarBuilder konstrukcji z bieżącego SemanticResultKey wystąpienia.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też