Как получить и отправить байтовые аудиоданные в Twilio?

Я работал над проектом Twilio и все настроил с помощью этого руководства: Stream TwiML

я уже решил общую проблему с помощью Алана здесь Ответ

Я не могу отправить обратно обработанные байты, которые я использую.

ws.send(bytes)
ws.receive()

Я предполагаю, что эти два метода необходимы для отправки и получения данных с использованием веб-сокета. Но я получаю постоянный поток данных от Twilio.

Это: b'\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xfe\xf

Что не имеет никакого смысла. В руководстве официально говорится, что вы можете получать байты из вызовов в реальном времени, а затем отправлять их. Итак, допустим, я получаю байты и обрабатываю их, используя свою собственную логику, возможно, где-то их храню. Моя обработка выводит те же аудиоданные PCM / 16Bit Mono в байтах. Я думаю, что twilio также отправляет мне необработанные байты, поскольку в документации говорится, что он выдает необработанные байты (которые, как я полагаю, не имеют какой-либо кодировки). Итак, все, что я хочу здесь, - это получать аудиоданные, отправленные от вызывающего абонента в twilio для приема и отправки байтов в конечную точку, которую я ранее настроил во флаконе для обработки, а затем я могу немного обработать ее и вернуть ей байты PCM, которые можно воспроизвести на стороне вызывающего абонента.

Все, что я хочу, это чтобы звонящий отправил свой голос, был обработан и получил ответ, возможно, наши голоса также добавлены к нему. Неважно, как здесь обрабатывается байт, моя концепция состоит в том, чтобы добавить к нему некоторые аудиоданные и отправить обратно.

Но поскольку глагол является новым, я не могу найти, как правильно обрабатывать байты и отправлять их обратно.

Было бы неплохо, если бы кто-нибудь мог указать мне, что Twilio ожидает от возврата веб-сокета в виде аудиоданных, которые можно воспроизвести на стороне вызывающего абонента. И чего мне следует ожидать от Twilio. Но поскольку в документации говорится, что полезная нагрузка отправляет необработанные байты, я предполагаю, что это простые данные PCM в байтах.

Пожалуйста, дайте мне знать, чтобы я мог получать байты от twilio и отправлять их обратно, которые можно было бы воспроизвести на стороне вызывающего абонента, а голос вызывающего абонента можно было услышать отсюда. У меня есть игроки и клиенты, настроенные для воспроизведения байтовых данных, но поскольку данные является простым или рекурсивным, я не могу его воспроизвести.

Заранее спасибо.


person Saif Ali    schedule 11.11.2019    source источник


Ответы (1)


Проповедник разработчиков Twilio здесь.

Насколько мне сейчас известно, Media Streams поддерживает только одностороннюю потоковую передачу данных на ваш сервер. Вы не можете выполнять потоковую передачу мультимедиа обратно в Twilio через соединение через веб-соединение.

Если вам удалось сохранить байты, которые вы хотите отправить обратно в виде аудиофайла, вы можете воспроизвести его во время вызова с помощью перенаправление вызова на некоторый TwiML, который _ 1_ подключает звук к вызову.

Сообщите мне, если это поможет.

person philnash    schedule 12.11.2019
comment
Хорошо, это вторая часть истории, я могу сохранить байты в mp3 или wav, это не проблема, но дело в том, что я получаю постоянные фиктивные байты, о которых я упоминал в своем комментарии. Документация недостаточно хороша, чтобы пролить свет на правильное получение постоянного байта из вызовов. И я предполагаю, что вы не читали официальный сайт Twilio, где написано: twilio.com/media-streams Используя Media Streams, вы можете передавать голосовые данные третьей стороне для выполнения задачи и маршрутизации этих голосовых данных обратно в Twilio. - person Saif Ali; 12.11.2019
comment
Итак, две вещи, которые меня сбивают с толку: 1. Вы говорите, что я не могу отправлять данные напрямую через веб-сокет, но Twilio говорит, что мы можем? 2. Данные, полученные с использованием документации по команде ‹Stream›, являются постоянными и не содержат аудиоданных, которые можно было бы воспроизвести. Несмотря на то, что я могу его получить и применить к нему обработку, это не ценные данные, поскольку они дают мне постоянные фиктивные байтовые данные. - person Saif Ali; 12.11.2019