Не удалось получить поток Shoutcast .pls

Я пытаюсь получить поток .pls с сервера Shoutcast для воспроизведения в моем приложении ios. Пока я безуспешен. Я написал много сообщений в stackoverflow, но ни одно из них не помогло.

Может ли кто-нибудь объяснить мне, если это вообще возможно, как заставить .pls транслироваться?


person Roeliee    schedule 21.11.2012    source источник
comment
Файл .pls — это не поток... это просто список воспроизведения. Он может содержать URL-адреса для потоков.   -  person Brad    schedule 22.11.2012
comment
Не могли бы вы сыграть это? я в той же проблеме   -  person Walid Hossain    schedule 18.07.2013
comment
@WalidHossain проверь мой ответ   -  person Ammarz    schedule 19.07.2013


Ответы (2)


все, что вам нужно, это указать порт вашего радио, вот один рабочий пример: in - (void)viewDidLoad

NSURL *vibes = [NSURL URLWithString:@"http://website.com:8002"];
vPlayer = [[AVPlayer alloc] initWithURL:vibes];
self.myViewVolume = [[MPVolumeView alloc] initWithFrame:CGRectMake(20, 330, 280, 50)];
[self.myViewVolume sizeToFit];
[self.view addSubview:self.myViewVolume];

вам нужно создать экземпляр AVPlayer в вашем .m файле, здесь это vPlayer, не забудьте добавить инфраструктуру AVFoundation в свой проект, вы можете воспроизводить и останавливать поток с помощью [player play] и [player stop]

Одной из проблем с AVPlayer является отсутствие простого регулятора громкости, вы можете добавить его с помощью mpViewVolume. Я также работаю над приложением для радио, и на сегодняшний день AVPlayer лучше всего воспроизводит потоки крикастов.

person EmilDo    schedule 21.11.2012
comment
Большое спасибо! Однако еще один вопрос. Вы инициализируете MPVolumeView с помощью CGRectMake. Есть ли способ добавить этот VolumeView на панель инструментов? - person Roeliee; 22.11.2012
comment
Что ж, у меня были некоторые трудности с встраиванием его в UIView, я не пробовал добавлять его на панель инструментов, но обязательно попробую это сделать. Если я найду какое-то решение, я прокомментирую здесь. Прямо сейчас я работаю над получением метаданных из потока крика и отображением их с помощью UILabel. - person EmilDo; 22.11.2012
comment
Если вы обнаружите это, было бы очень здорово, если бы вы могли поделиться этим со мной! Если вас интересует плохой пост, как только я узнаю, как получить элемент управления в UIView/Toolbar - person Roeliee; 22.11.2012
comment
Да, отпишитесь здесь. Также было бы здорово опубликовать все эти решения в блоге, потому что почти нет информации о создании радиоприложений для iOS. Ползунок громкости можно настроить следующим образом: tibr.me/2012/07/ 14/customizing-mpvolumeview-appearance в ios6 для этого есть специальные классы, но я буду делать это с инструкциями из блога, потому что не так много людей обновились до ios6. - person EmilDo; 22.11.2012
comment
я понял, как добавить MPVolumeView в UIView. Это на самом деле довольно просто. Просто перетащите UIView в свою раскадровку/XIB, а затем измените тип его класса на MPVolumeView. Работает и на панели инструментов - person Roeliee; 22.11.2012
comment
Можете ли вы вставить мне пример добавления этого объекта на панель инструментов, у меня есть некоторые проблемы с этим, возможно, мой подход неверен. У меня есть рабочий пример для получения метаданных из вашего потока .pls, это очень просто. Если вы хотите, отправьте мне письмо по адресу [email protected]. Кажется, я не могу добавить его здесь в качестве комментария. - person EmilDo; 24.11.2012
comment
Я бился головой тут и там из-за такой простой вещи?? Чувак, ты сделал мою жизнь намного проще :-D - person Salman Zaidi; 22.04.2013
comment
Вы не можете использовать MPVolumeView из симулятора. - person Mashhadi; 25.11.2014

@Walid Hussain, у меня сработало использование AVPlayer

ссылка с AVFoundation.framework

//import needed
#import <AVFoundation/AVFoundation.h>

// declaration for the player  
AVPlayer * radioPlayer;

// play
NSURL * url = [NSURL URLWithString:@"http://energy10.egihosting.com:9636"];
radioPlayer = [[AVPlayer playerWithURL:url] retain];
[radioPlayer play];
person Ammarz    schedule 18.07.2013