SpeechUI.SendTextFeedback(RecognitionResult, String, Boolean) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将有关识别操作状态的状态和描述性文本发送到语音平台用户界面。
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
包含有关生成 RecognitionResultresult
的识别操作的注释的 String。
- isSuccessfulAction
- Boolean
指示应用程序是否将标识操作视为成功操作的 bool
。
返回
如果提供给方法(Feedback
和 isSuccessfulAction
的信息成功用于语音平台用户界面,则为 true
,如果操作失败,则为 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 可用于指示识别操作不符合特定条件,即使已识别输入。
例如,验证安全代码信息,其中输入已完全识别,但验证信息错误。