如何从shoutcast目录中获取XML站列表?

时间:2013-11-14 18:44:08

标签: ios objective-c xml shoutcast icecast

目前,我正从另一个在线广播源获取我的广播应用中的数据,并通过实施过滤结果:

 DDXMLNode* rootNode = [xmlDoc rootElement];
    NSArray* nodes = nil;
    nodes = [rootNode nodesForXPath:@"child::Station[Genres/Genre='POP']" error:nil];
    for(DDXMLNode* node in nodes)
    {
        Station* s = [[Station alloc] init];
        DDXMLNode* nameNode = [[node nodesForXPath:@"Name" error:nil] objectAtIndex:0];
        s.name = [nameNode stringValue];
        DDXMLNode* bitRateNode = [[node nodesForXPath:@"Streams/Stream/BitRate" error:nil] objectAtIndex:0];
        s.bitRate = [bitRateNode stringValue];
        DDXMLNode* streamNode = [[node nodesForXPath:@"Streams/Stream/StreamUrl" error:nil] objectAtIndex:0];
        s.streamURL = [streamNode stringValue];
        [array addObject:s];
    }

这会过滤掉所有其余内容,只会为我提供POP的电台。这与目前的电台很好用,但我需要能够从Shoutcast获得电台列表。我搜索过但找不到具体的地方来获取这个目录/ XML。我曾尝试进入shoutcast网站并“成为合作伙伴”,但我收到一条消息说他们正在制作下一版本的shoutcast并且不允许任何新的合作伙伴(尽管此消息已在去年出现)。是否有必要加入才能访问所有shoutcast工作站XML,以便我可以将它们集成到我的应用程序中?

我的最终结果需要是我有一个URL,让我可以从shoutcast /获取所有广播电台的列表以及更新URL,以便用户可以向下拖动并更新所有列表的URL到确保它们有效。 (我已经使用当前的电台实现了刷新功能)

更新:通过查看API文档,您可以在此处找到:LINK他们似乎再次引用了Dev ID,但这又带我到了我之前提到的成为合作伙伴

2 个答案:

答案 0 :(得分:1)

唯一的办法就是成为合作伙伴。

答案 1 :(得分:0)

要从电台列表或Shoutcast的API获取访问权限,您需要一个开发人员的ID(DevID)。在您的合作伙伴请求获得批准后,此DevId将发送给您。

要成为合作伙伴,请在申请中说明您的提案。 这是直接链接,https://www.shoutcast.com/Developer