SemanticResultKey Clase

Definición

Asocia una cadena de clave a valores SemanticResultValue para definir objetos SemanticValue.Associates a key string with SemanticResultValue values to define SemanticValue objects.

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

Ejemplos

En el ejemplo siguiente se Grammar crea un para reconocer la entrada de contraseña con el formato "mi contraseña es...", donde la entrada real coincide con un carácter comodín.The following example creates a Grammar to recognize password input of the form "My password is …", where the actual input is matched with a wildcard.

El carácter comodín se etiqueta con una clave semántica y el SpeechRecognized controlador comprueba la presencia de esta etiqueta para comprobar que se ha producido una entrada de contraseña.The wildcard is tagged with a semantic key, and the SpeechRecognized handler checks for the presence of this tag to verify that a password input has occurred.

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

Comentarios

La unidad básica de la expresión semántica en System. Speech es SemanticValue, que es un par clave-valor.The basic unit of semantic expression in System.Speech is the SemanticValue, which is a key/value pair.

Mediante SemanticResultKey el uso de objetos SemanticResultValue , se etiquetan las instancias contenidas en GrammarBuilder objetos y cadenas para que se pueda SemanticValue tener acceso a los valores fácilmente desde las instancias en el reconocimiento.Using SemanticResultKey objects, you tag SemanticResultValue instances contained in GrammarBuilder objects and strings so that the values may readily be accessed from SemanticValue instances on recognition.

Puede usar SemanticResultValue objetos y SemanticResultKey , junto con GrammarBuilder los objetos y Choices , para definir la estructura semántica de una gramática de reconocimiento de voz.You can use SemanticResultValue and SemanticResultKey objects, in conjunction with GrammarBuilder and Choices objects, to define the semantic structure for a speech recognition grammar. Para obtener acceso a la información semántica en un resultado de reconocimiento, obtenga SemanticValue una instancia Semantics de a RecognizedPhrasetravés de la propiedad en.To access the semantic information in a recognition result, obtain an instance of SemanticValue through the Semantics property on RecognizedPhrase.

Constructores

SemanticResultKey(String, GrammarBuilder[])

Asigna una clave semántica a uno o más objetos GrammarBuilder usados para crear una gramática de reconocimiento de voz.Assigns a semantic key to one or more GrammarBuilder objects used to create a speech recognition grammar.

SemanticResultKey(String, String[])

Asigna una clave semántica a una o más instancias de String usadas para crear una gramática de reconocimiento de voz.Assigns a semantic key to one or more String instances used to create a speech recognition grammar.

Métodos

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToGrammarBuilder()

Devuelve una instancia de GrammarBuilder construida a partir de la instancia de SemanticResultKey actual.Returns an instance of GrammarBuilder constructed from the current SemanticResultKey instance.

ToString()

Devuelve un valor de tipo string que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Se aplica a

Consulte también: