Поделиться через


SpeechUI.SendTextFeedback(RecognitionResult, String, Boolean) Метод

Определение

Отправляет сведения о состоянии и описательный текст для операции распознавания в пользовательский интерфейс платформы обработки речи.

public:
 static bool SendTextFeedback(System::Speech::Recognition::RecognitionResult ^ result, System::String ^ feedback, bool isSuccessfulAction);
public static bool SendTextFeedback (System.Speech.Recognition.RecognitionResult result, string feedback, bool isSuccessfulAction);
static member SendTextFeedback : System.Speech.Recognition.RecognitionResult * string * bool -> bool
Public Shared Function SendTextFeedback (result As RecognitionResult, feedback As String, isSuccessfulAction As Boolean) As Boolean

Параметры

result
RecognitionResult

Допустимый экземпляр RecognitionResult.

feedback
String

Объект String, содержащий комментарий об операции распознавания, выдавшей результат result объекта RecognitionResult.

isSuccessfulAction
Boolean

bool, указывающий, считает ли приложение операцию распознавания успешно завершенной.

Возвращаемое значение

true, если сведения, предоставленные в метод (Feedback и isSuccessfulAction), были успешно сделаны доступными для пользовательского интерфейса платформы обработки речи, и false, если операция завершилась с ошибкой.

Примеры

В следующем примере показан обработчик для SpeechRecognized события. Это событие используется в объекте Grammar , предназначенном для обработки ввода пароля в форме "Мой пароль имеет...".

Если пароль отсутствует или недопустим, sendTextFeedback используется для отправки сведений об ошибке в пользовательский интерфейс платформы "Речь".

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

Комментарии

SendTextFeedback можно использовать, чтобы указать, что операция распознавания не соответствует определенным критериям, даже если входные данные были распознаны.

Примером является проверка сведений о коде безопасности, где входные данные были полностью распознаны, но проверочные данные были неверными.

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