سؤال

أنا أبحث في بعض البرامج النصية VXML من vxml.org. عندما أتصل بالبرنامج النصي ، يلعب المطالبة ، لكنه لا يلتقط أي من مدخلاتي على الإطلاق. عندما أتحدث ، يستجيب "لا مدخلات". هل يمكن أن أفتقد بعض العلامات التي تشير إلى إدخال من المستخدم. هذا هو المثال السيناريو من الموقع:

<?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>

أي شخص لديه أدنى فكرة؟ تيا

هل كانت مفيدة؟

المحلول

لم تذكر المنصة المستخدمة. نظرًا لأنك تستخدم GSL المضمّن ، فإن أول تخمين للمنصة سيكون TellMe أو NVP ، لكنني أعتقد أن هناك آخرين يدعمون GSL المضمّن.

في أي حال ، تأكد من أنك لا تحصل على خطأ في التجميع. لقد رأيت بعض المنصات فقط تتجاهل القواعد التي لم تتجمع. تبدو المقتطفات صحيحة ، ولكن بالنظر إلى عدم استخدام بناء الجملة القياسي (SRGs) ، أعتقد أن هذا تطبيق أقدم وكلما كان التنفيذ أقدم ، كلما زاد عدد المراوغات والتحذيرات التي تراها عادةً.

بشكل عام ، لا أرى أي شيء خاطئ في جزء VoiceXML من بناء الجملة الخاص بك لشرح السلوك. على الرغم من أنها غير مرتبطة بأعراضك ، إلا أن نماذج وجهتك قد تتسبب في مشكلات على بعض المنصات بالنظر إلى عدم وجود قواعد نحوية ومخارج محددة (تعتمد على معالجات الصيد الافتراضية). لتشغيل المعلومات فقط ، يجب أن تكون أقسام الميدان كتلًا. ولاحظ ، إذا كانت الكتلة قد لعبت للتو صوتًا وخرجت ، فقد تكون قواعد الارتباط نشيطة (قد تعني المواصفات أنها ، ولكن يجب أن تتحول المنصات بين المعالجة الصوتية والتعرف على الأداء. التعرف والتحول المستمر داخل وخارج القواعد النشطة نادرة ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top