SpeechUI.SendTextFeedback(RecognitionResult, String, Boolean) Methode

Definition

Sendet Status und beschreibenden Text zur Benutzeroberfläche der Sprachplattform über den Status eines Erkennungsvorgangs.

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

Parameter

result
RecognitionResult

Eine gültige RecognitionResult-Instanz.

feedback
String

Ein String, das einen Kommentar zum Erkennungsvorgang enthält, der das RecognitionResultresult erzeugt hat.

isSuccessfulAction
Boolean

Ein bool, der angibt, ob die Anwendung den Erkennungsvorgang als ein Erfolg bewertet.

Gibt zurück

true, wenn die Informationen, die für die Methode bereitgestellt wurden (Feedback und isSuccessfulAction) erfolgreich für die Spracheplattformbenutzeroberfläche verfügbar gemacht wurde, und false, wenn der Vorgang fehlgeschlagen ist.

Beispiele

Das folgende Beispiel ist ein Handler für ein SpeechRecognized Ereignis. Dieses Ereignis wird von einem Grammar verwendet, das für die Kennworteingabe des Formulars "Mein Kennwort ist ..." konzipiert ist.

Wenn ein Kennwort nicht vorhanden oder ungültig ist, wird SendTextFeedback verwendet, um Fehlerinformationen an die Benutzeroberfläche der Speech-Plattform zu senden.

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

Hinweise

SendTextFeedback kann verwendet werden, um anzugeben, dass ein Erkennungsvorgang bestimmte Kriterien nicht erfüllt hat, auch wenn die Eingabe erkannt wurde.

Ein Beispiel ist die Überprüfung von Sicherheitscodeinformationen, bei denen die Eingabe vollständig erkannt wurde, die Überprüfungsinformationen jedoch falsch waren.

Gilt für: