Воспроизвести звук перед сбросом

Можно ли воспроизвести звук перед тем, как положить трубку?

Я передаю аудио в текст Google в речь через веб-сокет.

Я хочу воспроизвести аудиофайл перед тем, как повесить трубку.

Я попытался отправить twiml следующим образом:

<Response>
<Play>https://z24bwfa804c1.ngrok.io/1aec92e0-b534-11ea-9dcf-c51bcba81dbb.mp3</Play>
<Pause length="300" />
<Hangup/>
</Response>

При таком подходе звонок не зависал.

Я также попытался изменить статус на завершенный, что привело к завершению вызова непосредственно перед ожиданием окончания воспроизведения.

// twiml
<Response>
<Play>https://z24bwfa804c1.ngrok.io/1aec92e0-b534-11ea-9dcf-c51bcba81dbb.mp3</Play>
<Hangup/>
</Response>


await twilioClient.calls(conversationId).update(playMessageResponse);
await twilioClient.calls(conversationId).update({ status: 'completed' });

Должен ли я использовать тайм-аут перед изменением статуса или я должен уничтожить поток?

Спасибо за ответы


person Lobicky    schedule 23.06.2020    source источник


Ответы (1)


Когда TwiML заканчивается, вызов зависает. Просто используйте глагол <Play> и ничего после него. Вызов завершится, как только <Play> завершит работу с медиафайлом.

person Alan    schedule 23.06.2020
comment
О, мой плохой. Я забыл упомянуть, что я транслирую аудио в Google Speech to Text Service. Так что TwiML не исчерпается. - person Lobicky; 23.06.2020