SemanticResultKey Klasa
Definicja
Ważny
Niektóre informacje dotyczą produktów przedpremierowych, które mogą zostać znacznie zmodyfikowane przed premierą. Microsoft nie udziela żadnych gwarancji, ani wyraźnych, ani domniemanych, dotyczących informacji podanych tutaj.
Kojarzy ciąg klucza z wartościami SemanticResultValue w celu zdefiniowania SemanticValue obiektów.
public ref class SemanticResultKey
public class SemanticResultKey
type SemanticResultKey = class
Public Class SemanticResultKey
- Dziedziczenie
-
SemanticResultKey
Przykłady
Poniższy przykład tworzy element Grammar w celu rozpoznawania danych wejściowych hasła formularza "Moje hasło jest ...", gdzie rzeczywiste dane wejściowe są dopasowywane do symbolu wieloznacznych.
Symbol wieloznaczny jest oznaczony kluczem semantycznym, a SpeechRecognized program obsługi sprawdza obecność tego tagu, aby sprawdzić, czy wystąpiło wprowadzenie hasła.
private void pwdGrammar()
{
GrammarBuilder pwdBuilder = new GrammarBuilder("My Password is");
GrammarBuilder wildcardBuilder = new GrammarBuilder();
wildcardBuilder.AppendWildcard();
SemanticResultKey wildcardKey= new SemanticResultKey("Password", wildcardBuilder);
pwdBuilder+=wildcardKey;
Grammar grammar = new Grammar(pwdBuilder);
grammar.Name = "Password input";
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);
}
}
};
grammar.Enabled = true;
_recognizer.LoadGrammar(grammar);
UpdateGrammarTree(_grammarTreeView, _recognizer);
}
Uwagi
Podstawową jednostką wyrażenia semantycznego w pliku System.Speech jest SemanticValuepara klucz/wartość.
Za pomocą SemanticResultKey obiektów oznaczasz SemanticResultValue wystąpienia zawarte w GrammarBuilder obiektach i ciągach, aby można było łatwo uzyskać dostęp do wartości z SemanticValue wystąpień podczas rozpoznawania.
Można używać SemanticResultValue obiektów i SemanticResultKey w połączeniu z obiektami GrammarBuilder i Choices w celu zdefiniowania struktury semantycznej gramatyki rozpoznawania mowy. Aby uzyskać dostęp do informacji semantycznych w wyniku rozpoznawania, uzyskaj wystąpienie SemanticValue elementu za pośrednictwem właściwości w elemSemantics.RecognizedPhrase
Konstruktorów
| Nazwa | Opis |
|---|---|
| SemanticResultKey(String, GrammarBuilder[]) |
Przypisuje klucz semantyczny do co najmniej jednego GrammarBuilder obiektu używanego do tworzenia gramatyki rozpoznawania mowy. |
| SemanticResultKey(String, String[]) |
Przypisuje klucz semantyczny do co najmniej jednego String wystąpienia używanego do tworzenia gramatyki rozpoznawania mowy. |
Metody
| Nazwa | Opis |
|---|---|
| Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Dziedziczone od Object) |
| GetHashCode() |
Służy jako domyślna funkcja skrótu. (Dziedziczone od Object) |
| GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Dziedziczone od Object) |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Dziedziczone od Object) |
| ToGrammarBuilder() |
Zwraca wystąpienie GrammarBuilder konstrukcji z bieżącego SemanticResultKey wystąpienia. |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Dziedziczone od Object) |