GrammarBuilder.AppendWildcard Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет элемент грамматики распознавания, соответствующий любой входной информации для текущей последовательности элементов грамматики.
public:
void AppendWildcard();
public void AppendWildcard ();
member this.AppendWildcard : unit -> unit
Public Sub AppendWildcard ()
Примеры
В следующем примере создается грамматика, которая принимает ввод пароля в качестве подстановочного знака. В этом примере обработчик событий присоединяется Grammar.SpeechRecognized к грамматике, которая проверяет ввод пароля.
private Grammar CreatePasswordGrammar()
{
GrammarBuilder wildcardBuilder = new GrammarBuilder();
wildcardBuilder.AppendWildcard();
SemanticResultKey passwordKey =
new SemanticResultKey("Password", wildcardBuilder);
GrammarBuilder passwordBuilder =
new GrammarBuilder("My Password is");
passwordBuilder.Append(passwordKey);
Grammar passwordGrammar = new Grammar(passwordBuilder);
passwordGrammar.Name = "Password input";
passwordGrammar.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(
PasswordInputHandler);
return passwordGrammar;
}
// Handle the SpeechRecognized event for the password grammar.
private void PasswordInputHandler(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result == null) return;
RecognitionResult result = e.Result;
SemanticValue semantics = e.Result.Semantics;
if (semantics.ContainsKey("Password"))
{
RecognizedAudio passwordAudio =
result.GetAudioForWordRange(
result.Words[3], result.Words[result.Words.Count - 1]);
if (IsValidPassword(passwordAudio))
{
Console.WriteLine("Password accepted.");
// Add code to handle a valid password here.
}
else
{
Console.WriteLine("Invalid password.");
// Add code to handle an invalid password here.
}
}
}
// Validate the password input.
private bool IsValidPassword(RecognizedAudio passwordAudio)
{
Console.WriteLine("Validating password.");
// Add password validation code here.
return false;
}
Комментарии
Элемент с подстановочным знаком добавляется в конец текущей последовательности элементов.
Элемент с подстановочным знаком соответствует любому произносимому слову. Он не соответствует фоновому шуму или тишине.