SemanticResultKey Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
Konstruktory
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
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToGrammarBuilder() |
Zwraca wystąpienie GrammarBuilder konstrukcji z bieżącego SemanticResultKey wystąpienia. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |