0

Asterisk-java AGiを使用していますが、サーバーでgoogleTTS agiを使用したいと考えています。agi 内で google tts agi を使用できますか?そのためのコマンドはありますか?

4

3 に答える 3

0

Sorry to take 4 years to give you an answer, but you can do this using the command "channel.exec()".

Probably you could solve this by yourself. Posting this answer just for documentation purposes.

    public void service(AgiRequest request, AgiChannel channel)
        throws AgiException
{
    // Answer the channel...
    answer();

    // ...say hello...
    channel.exec("AGI","googletts.agi","Olá Mundo!","pt-BR");

    // ...and hangup.
    hangup();
}
于 2018-05-01T22:44:18.960 に答える
-1

残念ながら、別の AGI 内で AGI を使用することはできません。

AGI は STDIN/STDOUT を使用してアスタリスクから情報を読み書きします ...

于 2013-07-16T18:39:04.990 に答える
-1

本当にやりたいことは、(ダイヤルプランで) 2 つの AGI を順番に呼び出し、その情報を AGI スクリプトに渡すことです。

したがって、AGI スクリプト (Asterisk-Java を使用するスクリプト) で、変数を TTS に必要な値に設定します。AGI スクリプトの実行を終了し、それをダイヤルプランに戻し、その変数を Google TTS に使用します。 .

exten => your_exten,1,Noop(Begin here)
same => n, Answer()
same => n, AGI(/path/to/your/AGI.script) ; or fastAGI etc.
same => n, Noop(This is the variable I set in my agi script: ${TEXT_TO_SPEAK})
same => n, AGI(googletts.agi,${TEXT_TO_SPEAK},en)
same => n, Hangup()

AGI スクリプトを使用して Asterisk のすべてを制御しようとする罠にはまらないでください。時間を無駄にしており、そうすると非効率的にアスタリスクを使用しています。Asterisk では実行できないことを行う必要がある場合は、AGI アプリケーションを呼び出します。

于 2013-07-22T15:31:44.983 に答える