Почему некоторые аудиофайлы не воспроизводятся в Twilio Play? - PullRequest
0 голосов
/ 19 июня 2020

У меня странная проблема с воспроизведением Twilio некоторых аудиофайлов, в то время как другие выдают ошибки.

Код twiml не является проблемой - вот упрощенная версия того, что я использую ...

<?php
include('route\to\twilio');    
use Twilio\TwiML\VoiceResponse;
$response = new VoiceResponse;
$audio = "https://example.com/2190277108.mp3";
$response->play($audio);
header('Content-Type: text/xml');
echo $response;

Проблема в том, что НЕКОТОРЫЕ файлы просто не воспроизводятся, в то время как другие дают коды ошибок в Twilio

Для этого конкретного файла .mp3 инспектор запросов Twilio показывает ошибку 502

POST https://example.com/twilio-answer-call.php 2020-06-19 14:13:21 UT C 915 мс 200

Запрос

Ответ

Заголовки

Тело

<?xml version="1.0" encoding="UTF-8"?> <Response> <Play>https://example.com/2190277108.mp3</Play> </Response>

GET https://example.com/2190277108.mp3 2020-06-19 14:13:23 UT C 1095 мс 502

Запрос

Ответ

Заголовки

Текст Content-Type / html

Body

Twilio не удалось получить содержимое из: http://example.com/2190277108.mp3

Ошибка: пустой / недопустимый ответ от удаленного хоста mydomain.com

SID учетной записи: myTwilioAcct

SID: CA4b1

Идентификатор запроса: 02-7e8-43-a6-0d4 48

Удаленный хост: example.com

Метод запроса: GET

URI запроса: http://example.com/2190277108.mp3

Фрагмент URL: false

Тем не менее, когда я меняю .mp3 (и только это ...), он воспроизводится нормально ....

$audio = "https://example.com/AnotherOneBitesTheDust.mp3";

Разница в том, что на песня (которая работает), я вижу

Заголовки Content-Type audio / ulaw

Переходя непосредственно к каждой ссылке в Chrome, воспроизводится звук просто отлично (это мало что значит, кроме того, что ссылка верна ...), однако в Twilio она не работает.

Я пробовал различные способы «подделать» заголовок (используя некоторый код php , различные html автовоспроизведение, и т.д. c.) и может получить заголовок как 'audio / ulaw', но звук не воспроизводится ...

С некоторыми вариациями я сложил aud ios (реализованная мною функция размещает различные «стеки» аудио в зависимости от конфигурации пользователя) и, опять же, НЕКОТОРЫЕ аудиофайлы имеют разные реакции от Twilio.

  • Файл пропущен (т. е. воспроизводится второй - первый вроде пытается, но нет звука, затем переходит ко второму)

I ' Я часами пытался понять, какие файлы работают, а какие нет .....

Проблемные файлы записаны на P C - некоторые записаны через браузер (я использовал разные методы, в последнее время используется https://github.com/muaz-khan/RecordRTC - все методы пять одинаковых результатов ...), некоторые прямо в диктофоне. Я также пробовал напрямую загружать файлы, а также через PHP загрузку.

В какой-то момент (в начале разработки, что меня порадовало - потом мы обнаружили другие ошибки ....) у нас были файлы, работающие над Twilio, и мы отошли от этих тестов, так как казалось, что он работает легко и быстро. . Затем мы вернулись, чтобы провести окончательное тестирование и обнаружили проблему «некоторые файлы работают» .....

Итак, я ищу последовательный способ заставить файлы работать.

Похоже, что метод записи не дает правильных заголовков при воспроизведении напрямую через Twilio (купленная песня работает, а внутренние записи P C - нет ....) , хотя у меня нет возможности действительно доказать это (это я знаю - может быть, getid3 поможет ????)

Идеальный конечный результат - иметь возможность записывать через браузер, загружать и получать играть правильно. Я пробовал .m4a, .wav и .mp3 - все они дают те же результаты, что и выше (некоторые работали на ранней стадии, теперь я не могу снова найти комбинацию 'magi c' ...)

Может быть, я слишком долго занимался этой проблемой (20 часов или больше ...), и мне не хватает чего-то простого, но я просто не вижу этого.

Любой помощь / предложения приветствуются! Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...