2

レストランで商品を注文するためのアプリを構築したいと考えています。ウェイターは、「Product SomeProduct、Quantity SomeQuantity、Observation SomeObservation」というコマンドを言うでしょう。事前に定義されたコマンドを含むローカル文法ファイルを使用する多くのサンプルを見ました。データベースから取得した製品名を使用して、実行時に 1 つの文法ファイルを作成するにはどうすればよいですか?

4

1 に答える 1

2

ファイルで文法を定義し、コードを使用して可能な製品を更新できます。たとえば、次のファイルを作成できます。

<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0">
  <CommandSet xml:lang="en-US" Name="ProductCommandSet">
    <CommandPrefix>MyApp</CommandPrefix>
    <Example> Product some product </Example>

    <Command Name="Product">
      <Example> Product some product </Example>
      <ListenFor> Product {products} </ListenFor>
      <Feedback> Selected {products} </Feedback>
      <Navigate Target="/../View/ItemPage.xaml" />
    </Command>

    <PhraseList Label="products">

    </PhraseList>

  </CommandSet>
</VoiceCommands>

ご覧のとおり、可能な製品のリストはありません。DB から製品のリストをロードしたら、コードを使用してコマンドのリストを更新できます。たとえば、List<string>という名前のタイプの変数に製品のリストがある場合productList:

VoiceCommandSet commandSet = VoiceCommandService.InstalledCommandSets["ProductCommandSet"];
commandSet.UpdatePhraseListAsync("products", productList);
于 2013-09-24T07:14:06.007 に答える