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 можно использовать, чтобы указать, что операция распознавания не соответствует определенным критериям, даже если входные данные были распознаны.
Примером является проверка сведений о коде безопасности, где входные данные были полностью распознаны, но проверочные данные были неверными.