GrammarBuilder.AppendWildcard メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
文法要素の現在のシーケンスに、すべての入力に一致する認識文法要素を追加します。
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;
}
注釈
ワイルドカード要素は、現在の要素シーケンスの末尾に追加されます。
ワイルドカード要素は、読み上げられた単語と一致します。 バックグラウンド ノイズや無音とは一致しません。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET