SemanticResultKey Klasse

Definition

Ordnet SemanticResultValue-Werten eine Schlüsselzeichenfolge zu, um SemanticValue-Objekte zu definieren.

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

Beispiele

Im folgenden Beispiel wird ein Grammar erstellt, um die Kennworteingabe im Format "Mein Kennwort ist ..." zu erkennen, wobei die tatsächliche Eingabe mit einem Wildcard abgeglichen wird.

Der Wildcard wird mit einem semantischen Schlüssel markiert, und der SpeechRecognized Handler überprüft, ob dieses Tag vorhanden ist, um zu überprüfen, ob eine Kennworteingabe erfolgt ist.

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

}

Hinweise

Die grundlegende Einheit des semantischen Ausdrucks in System.Speech ist , bei dem SemanticValuees sich um ein Schlüssel-Wert-Paar handelt.

Mithilfe von SemanticResultKeySemanticValue -Objekten markieren SemanticResultValue Sie instanzen, die in GrammarBuilder -Objekten und Zeichenfolgen enthalten sind, sodass von Instanzen bei der Erkennung problemlos auf die Werte zugegriffen werden kann.

Sie können - und SemanticResultKey -Objekte in Verbindung mit GrammarBuilder - und Choices -Objekten verwendenSemanticResultValue, um die semantische Struktur für eine Spracherkennungsgrammatik zu definieren. Um auf die semantischen Informationen in einem Erkennungsergebnis zuzugreifen, rufen Sie eine instance von SemanticValue über die Semantics -Eigenschaft für abRecognizedPhrase.

Konstruktoren

SemanticResultKey(String, GrammarBuilder[])

Weist einem oder mehreren GrammarBuilder-Objekten, die verwendet werden, um eine Spracherkennungsgrammatik zu erstellen einen semantischen Schlüssel zu.

SemanticResultKey(String, String[])

Weist einem oder mehreren String-Instanzen, die verwendet werden, um eine Spracherkennungsgrammatik zu erstellen einen semantischen Schlüssel zu.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToGrammarBuilder()

Gibt eine Instanz von GrammarBuilder zurück, die aus der aktuellen SemanticResultKey-Instanz konstruiert wurde.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen