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
String,其中包含產生 RecognitionResultresult
之辨識作業的相關註解。
- 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 可以用來指出辨識作業無法符合特定準則,即使已辨識輸入也一樣。
例如,安全性代碼資訊的驗證,其中輸入已完全辨識,但驗證資訊錯誤。