Распознавание речи Twilio <gather>? - PullRequest
0 голосов
/ 27 апреля 2018
import com.twilio.twiml.voice.Gather;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.voice.Say;
import com.twilio.twiml.TwiMLException;

public class Example {
public static void main(String[] args) {
    Say say = new Say
        .Builder("Welcome to Twilio, please tell us why you're calling").build();
    Gather gather = new Gather.Builder().input("speech")
        .action("/completed").say(say).build();
    VoiceResponse response = new VoiceResponse.Builder().gather(gather)
        .build();

    try {
        System.out.println(response.toXml());
    } catch (TwiMLException e) {
        e.printStackTrace();
    }
}

}

В приведенном выше коде я хочу узнать, как работает метод действия. Что такое использование "/ complete" внутри метода действия.

в twilio doc написано что-то вроде этого

"Этот TwiML создает речь с речью. Когда Twilio выполняет этот TwiML, приложение будет запрашивать пользователя и принимать речь на срок до 60 секунд. Как только вызывающий абонент прекратит говорить в течение пяти секунд, Twilio отправит свою транскрибированную речь на URL действия. . "

Я получил указанный выше код по ссылке ниже

https://www.twilio.com/docs/voice/twiml/gather

1 Ответ

0 голосов
/ 04 июня 2018

эй, я нашел ответ.

мы можем дать любой публичный URL и заменить "/completed".

это означает, что когда оратор закончит говорить, twilio отправит запрос на этот URL. то тело пост-запроса содержит то, что twilio поймал из динамика

вот пример.

Собрать сбор = новый Gather.Builder (). Input (Gather.Input.SPEECH) .timeout (10) .action ("http://0838a6b6.ngrok.io/asr/test").speechTimeout("auto").say(say).language(Gather.Language.EN_US).build();

здесь http://0838a6b6.ngrok.io/asr/test = localhost: 1234 / asr / test

Вы можете скачать ngrok с здесь

это даст вам публичный URL для определенного порта на вашем сервере.

надеюсь, что это полезно. Спасибо

...