Домен = AVFoundationErrorDomain, код = -11828

Я использую потоковую ссылку из CloudFront.

Пример URL: https://d14nt81hc5bide.cloudfront.net/qyYj1PcUkYg2ALDfzAdhZAmb

На Android работает нормально, а на iOS пишет: домен = AVFoundationErrorDomain, код = -11828

Из документа Apple код ошибки 11828 — AVErrorFileFormatNotRecognized. Не удалось открыть носитель, так как он не в распознаваемом формате.

Может кто подскажет как исправить эту ошибку?

Вы пробовали с другим видео? Этот URL-адрес, похоже, ничего не воспроизводит для меня, возможно, он действительно в нераспознанном формате / поврежден.

mihai1990 26.03.2019 17:11

@ mihai1990 поиграй с vlc media player, он работает

user3804063 26.03.2019 17:21

О, я думал это видео. На самом деле это mp3 аудио. Я предполагаю, что это может быть вызвано отсутствием расширения .mp3 в URL-адресе.

mihai1990 27.03.2019 07:06

вот в чем проблема.... но облачный фронт не дает мне расширения .mp3 .. знаете ли вы, как получить расширение .mp3 из URL-адреса облачного фронта? @mihai1990

user3804063 27.03.2019 10:06

Я не знаю об этом, извините.

mihai1990 27.03.2019 18:05
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
11
5
2 890
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

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

К сожалению, по крайней мере, насколько мне известно, нет (надежного) способа программно указать AVFoundation ожидаемый формат и продолжить его.

Как вы упомянули, эта ошибка возникает, потому что AVFoundation не может распознать ваш формат мультимедиа.

Попробуйте объявите свой тип mime при загрузке медиафайлов на сервер

Подробнее о MIME-типе здесь

more info: AWS streaming media content tutorial

Ответ принят как подходящий

У меня не было другого выбора, кроме как сделать так, чтобы мой URL-адрес CloudFront был прикреплен .mp3. И тогда это работает для ios.

Другие вопросы по теме