Поддержка Iphone SDK для воспроизведения mp3 файлов по сети
Я пишу приложение для связи с веб-сервером, работающим на рабочем столе, для доступа и воспроизведения mp3-файлов. Вот что я попробовал до сих пор: я использовал MPMusicPlayerController (и попробовал UIWebview) для обработки аудиофайла, и он автоматически воспроизводится после постепенной загрузки файла. Невозможно обработать пропущенные песни, и воспроизведение после прогрессивной загрузки файла не является хорошим решением для сотовой сети.
В идеале мне бы хотелось иметь следующую функцию: 1. Клиент запрашивает создание потока с использованием определенной скорости передачи данных (для обработки различных условий сети). 2. Клиент должен иметь возможность пропускать песни.
Может кто-то указать мне верное направление? Могут ли файлы m3u8 поддерживать эти функции?
Спасибо за любую помощь заранее.
2 ответа
Я закончил тем, что использовал 1. MPMediaPlayback протокол для управления MPMoviePlayerController 2. MPMoviePlayerPlaybackDidFinishNotification, чтобы определить, завершилось ли воспроизведение из-за ошибки или из-за пользовательского ввода.
Плеер отлично играет как с потоковой передачей, так и с прогрессивной загрузкой. Пример кода MoviePlayer по адресу http://developer.apple.com/iphone/library/samplecode/MoviePlayer_iPhone/Introduction/Intro.html является отличной отправной точкой.
Взгляните на AVPlayer, он может передавать MP3 через сетевое соединение.
AVPlayer *player = [[AVPlayer playerWithURL:[NSURL URLWithString:@"http://www.mp3.com/mp3file.mp3"]] retain];
[player play];