2

私は音声文法とDTMF文法を持つVoiceXMLアプリケーションを作成しています。発信者が特に騒がしい環境から発信している場合は、音声文法を無効にする必要があります。フォーム全体を別のフォームにコピーしたり、音声文法を削除したりしないでこれを行う方法はありますか?

4

3 に答える 3

6

あなたが探しているのは、おそらく次のinputmodesプロパティです。

<property name="inputmodes" value="dtmf"/>

これにより、音声文法が無効になっている間、DTMF 文法が有効になります。

于 2009-01-12T15:59:35.703 に答える
2

使用しているプラ​​ットフォームについては言及していませんが、これはプラットフォーム間でバリエーションがある分野の 1 つであるため重要です。

VoiceXMl 2.0 仕様のセクション [3.1.4][1] によると、inputmodes="dtmf" は音声文法を非アクティブ化するのではなく、単にそれらの照合を不可能にするだけです。したがって、音声認識文法をオフにすると、エンド ポインターで音声バーゲンが許可されないことを期待できますが、必ずしも仕様で禁止されているわけではありません。

使用できるプラットフォーム固有の拡張機能を除いて、感度プロパティも考慮する必要があります。これを 0 に設定すると、ASR は音声のリッスンを停止します。

プラットフォームがサポートしている場合は、bargeintype プロパティを「hotword」に設定することもできます。これにより、音声文法が無効になることはありませんが、アプリケーションを動作させるのに十分な場合があるノイズ関連のバージインが原因で、ユーザーがプロンプトを聞くことができなくなる可能性が低くなります。

于 2009-09-09T20:04:11.537 に答える
0

入力モードを使用することもできますが、それでも 2 つのフォームが必要です。ただし、voicexml 2.1 を使用していて、文法タグに入力 mod を指定せず、それが文法自体で指定されていることを確認してから、srcexpr を使用して音声を「オフにする」ことができる場合は回避策があります。文法。

次のように文法を指定するとします。

<grammar type="application/srgs+xml" src="/grammars/menu.grxml" />
<grammar type="application/srgs+xml" src="/grammars/menu-dtmf.grxml" />

dtmf バージョンの使用を繰り返すことで、音声文法を無効にすることができます。

<grammar type="application/srgs+xml" srcexpr="'/grammars/menu' + (dtmfMode?'-dtmf':'') + '.grxml'" />
<grammar type="application/srgs+xml" src="/grammars/menu-dtmf.grxml" />

したがって、必要なのは、DTMF のみが必要な場合に true になる dtmfMode というブール変数を設定することだけです。

于 2011-05-03T13:34:25.633 に答える