У меня есть сервер потоковой передачи HTTP Live, который обслуживает сегментированный аудиофайл в формате mp3 (URL указывает на индексный файл playlist.m3u8). Мне нужно создать клиентское приложение для iOS, чтобы использовать этот аудиопоток без , используя любые стандартные элементы управления / пользовательский интерфейс Apple. Он должен воспроизводить поток в фоновом режиме, и я хочу использовать свой собственный пользовательский интерфейс для предоставления элементов управления.
Поскольку содержимое является чисто аудио, я не хочу использовать класс MPMoviePlayerController, поскольку он принимает на себя пользовательский интерфейс. Я попытался использовать AVAudioPlayer, хотя он не предназначен для сетевых потоков, которые неудивительно, что не удается воспроизвести с кодом ошибки «-43»: NSOSStatusErrorDomain.
Я также попытался создать UIWebView с высотой и шириной в 1 пиксель и указать его на файл playlist.m3u8 на сервере. Это работает, но, к сожалению, я все еще теряю пользовательский интерфейс, поскольку UIWebView просто делегирует задачу воспроизведения проигрывателю QuickTime, который запускается в моем приложении с полноэкранным режимом для устройств iOS 3.xx.
В принципе, мне кажется, что Apple не предоставила никаких клиентских API для использования потоков HTTP Live Streaming audio , и разработчики вынуждены отказаться от интерфейса пользователя для проигрывателя QuickTime, который воспроизводит поток с логотипом QT, узурпируя экран. Ughh ...
Я хотел бы знать, есть ли у кого-нибудь предложения, чтобы помочь мне с вышеуказанным. В противном случае я планирую отказаться от потоковой передачи по HTTP и использовать знаменитую классическую реализацию потоковой передачи Matt Gallagher . Однако я немного обеспокоен рекомендациями Apple , в которых четко указывается, что для приложений, от которых ожидается отправка большого количества аудио или видео контента по сотовым сетям (что является моим приложением), необходимо использовать HTTP Live потоковое видео. Означает ли это, что реализация моего плана B может быть отклонена Apple? Любые способы обойти это руководство?