SemanticResultKey Класс

Определение

Связывает ключевую строку со значениями SemanticResultValue для идентификации объектов 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
Наследование
SemanticResultKey

Примеры

В следующем примере создается Grammar для распознавания ввода пароля в форме "мой пароль —...", где фактические входные данные сопоставляются с подстановочным знаком.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.

Подстановочный знак помечается семантическим ключом, а SpeechRecognized обработчик проверяет наличие этого тега, чтобы убедиться в том, что произошел ввод пароля.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);  
  
}  

Комментарии

Базовая единица семантического выражения в System. Speech — SemanticValueэто пара "ключ-значение".The basic unit of semantic expression in System.Speech is the SemanticValue, which is a key/value pair.

С SemanticResultKey помощью объектов вы размечеем SemanticResultValue экземпляры GrammarBuilder , содержащиеся в объектах и строках, чтобы получить доступ к SemanticValue значениям из экземпляров при распознавании.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.

Для определения семантической SemanticResultKey структуры для грамматики распознавания речи Choices можно использовать SemanticResultValue объекты и в сочетании с GrammarBuilder объектами и.You can use SemanticResultValue and SemanticResultKey objects, in conjunction with GrammarBuilder and Choices objects, to define the semantic structure for a speech recognition grammar. Чтобы получить доступ к семантическим сведениям в результатах распознавания, получите экземпляр SemanticValue Semantics через свойство в RecognizedPhrase.To access the semantic information in a recognition result, obtain an instance of SemanticValue through the Semantics property on RecognizedPhrase.

Конструкторы

SemanticResultKey(String, GrammarBuilder[])

Присваивает семантический ключ одному или нескольким объектам GrammarBuilder, используемым для создания грамматики распознавания речи.Assigns a semantic key to one or more GrammarBuilder objects used to create a speech recognition grammar.

SemanticResultKey(String, String[])

Присваивает семантический ключ одному или нескольким экземплярам String, используемым для создания грамматики распознавания речи.Assigns a semantic key to one or more String instances used to create a speech recognition grammar.

Методы

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToGrammarBuilder()

Возвращает экземпляр GrammarBuilder, созданный из текущего SemanticResultKey.Returns an instance of GrammarBuilder constructed from the current SemanticResultKey instance.

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к

Дополнительно