У меня есть сервер потоковой передачи 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, и разработчики вынуждены отказаться от пользовательского интерфейса для проигрывателя QuickTime, который воспроизводит поток с логотипом QT, узурпирующим экран. Ughh...
Я хотел бы знать, если у кого-нибудь есть предложения, чтобы помочь мне с вышеупомянутым. В противном случае я планирую отказаться от HTTP Live Streaming и использовать знаменитую классическую реализацию потокового вещания Matt Gallagher. Тем не менее, я немного обеспокоен рекомендациями Apple, в которых четко указывается, что для приложений, от которых ожидается отправка большого количества аудио или видео контента по сотовым сетям (как и мое приложение), требуется использовать потоковую передачу HTTP Live. Означает ли это, что реализация моего плана B может быть отклонена Apple? Любые способы обойти это руководство?