Я использую потоковую ссылку из CloudFront.
Пример URL: https://d14nt81hc5bide.cloudfront.net/qyYj1PcUkYg2ALDfzAdhZAmb
На Android работает нормально, а на iOS пишет: домен = AVFoundationErrorDomain, код = -11828
Из документа Apple код ошибки 11828 — AVErrorFileFormatNotRecognized. Не удалось открыть носитель, так как он не в распознаваемом формате.
Может кто подскажет как исправить эту ошибку?
@ mihai1990 поиграй с vlc media player, он работает
О, я думал это видео. На самом деле это mp3 аудио. Я предполагаю, что это может быть вызвано отсутствием расширения .mp3 в URL-адресе.
вот в чем проблема.... но облачный фронт не дает мне расширения .mp3 .. знаете ли вы, как получить расширение .mp3 из URL-адреса облачного фронта? @mihai1990
Я не знаю об этом, извините.





AVFoundation может быть придирчив, если URL-адрес или заголовок ответа не содержат информации о формате контейнера носителя (mp4, mov,...), что имеет место здесь (нет «расширения файла» в URL-адресе и нет тип контента в заголовке ответа).
Другие медиабиблиотеки и проигрыватели, кажется, готовы просто начать загрузку, а затем угадать формат, проверив входящие данные, возможно, поэтому они работают в этом случае.
К сожалению, по крайней мере, насколько мне известно, нет (надежного) способа программно указать AVFoundation ожидаемый формат и продолжить его.
Как вы упомянули, эта ошибка возникает, потому что AVFoundation не может распознать ваш формат мультимедиа.
Попробуйте объявите свой тип mime при загрузке медиафайлов на сервер
Подробнее о MIME-типе здесь
more info: AWS streaming media content tutorial
У меня не было другого выбора, кроме как сделать так, чтобы мой URL-адрес CloudFront был прикреплен .mp3.
И тогда это работает для ios.
Вы пробовали с другим видео? Этот URL-адрес, похоже, ничего не воспроизводит для меня, возможно, он действительно в нераспознанном формате / поврежден.