0

vxml.org からいくつかのサンプル vxml スクリプトを見ています。スクリプトを呼び出すと、プロンプトが再生されますが、入力がまったく取得されません。話しかけると「入力なし」と返ってきます。ユーザーからの入力を示すタグが欠落している可能性があります。これは、Web サイトのサンプル スクリプトです。

<?xml version="1.0" encoding="UTF-8"?>
<vxml version = "2.1">
   <link next="#MainMenu">
      <grammar type="text/gsl">[main back begin]</grammar>
   </link>

   <form id="MainMenu">
      <block>
         <prompt bargein="false">
            This is the Hello World Main Menu.
         </prompt>
      </block>

      <field name="MeatOrPlant">
         <prompt>
            Are you a "Carnivore" or "Vegetarian".
         </prompt>

         <grammar type="text/gsl">
            <![CDATA[[
              [vegetarian plant veggie] {<MeatOrPlant "plant">}
              [meat carnivore flesh animal] {<MeatOrPlant "meat">}
            ]]]>
         </grammar>

         <noinput>
            <prompt>
               I did not hear anything. Please try again.
            </prompt>
            <reprompt/>
         </noinput>

         <nomatch>
            <prompt>
               I did not recognize that lifestyle choice.  Please try again.
            </prompt>
            <reprompt/>
         </nomatch>

      </field>
      <filled>
         <if cond="MeatOrPlant == 'meat'">
            <goto next="#Meat"/>
            <elseif cond="MeatOrPlant == 'plant'"/>
            <goto next="#Plant"/>
         </if>
      </filled>
   </form>

   <form id="Meat">
      <field name="BackToMain">
         <prompt>
            PETA is coming for you, be afraid.
            If you wish to try again, please say Main.
         </prompt>
      </field>
      <filled>
         <!-- no way this will get hit -->
      </filled>
   </form>

   <form id="Plant">
      <field name="BackToMain">
         <prompt>
            Protein is the spawn of the devil.
            If you wish to try again, please say "Main".
         </prompt>
      </field>
      <filled>
         <!-- no way this will get hit -->
      </filled>
   </form>
</vxml>

誰にも手がかりがありますか?ティア

4

1 に答える 1

1

使用されているプラ​​ットフォームについては言及していません。インライン GSL を使用しているため、プラットフォームの最初の推測は TellMe または NVP ですが、インライン GSL をサポートするプラットフォームは他にもあったと思います。

いずれにせよ、コンパイル エラーが発生していないことを確認してください。コンパイルされなかった文法を無視するプラットフォームをいくつか見てきました。スニペットは正しいように見えますが、標準構文 (SRGS) を使用していないことを考えると、これは古い実装であり、実装が古いほど、通常より多くの癖や警告が表示されると思います。

一般的に、構文の VoiceXML 部分に動作を説明するための問題はありません。症状とは関係ありませんが、文法や定義済みの出口 (デフォルトの catch ハンドラーに依存しているため) が不足しているため、一部のプラットフォームでは宛先フォームが問題を引き起こす可能性があります。情報を再生するには、フィールド セクションをブロックにする必要があります。また、ブロックが音声を再生してリンクを終了した場合、文法がアクティブである場合とアクティブでない場合があることに注意してください (仕様ではアクティブであることを暗示していますが、プラットフォームはオーディオの処理とキューイングと認識の実行を切り替える必要があります。アクティブ文法はまれです...

于 2010-06-25T12:42:35.200 に答える