如何在iPhone应用程序中使用Shoutcast?

4

我只知道ShoutCast的功能是流播放电台列表。

但不知道如何在 iPhone 应用程序中使用它。

目前我只是在它的网站 http://www.shoutcast.com/ 上查看,因为我在谷歌上搜索得到的信息很少,除了它的网站外。

任何教程都将有所帮助。

我得到的响应是:

<?xml version="1.0" encoding="UTF-8"?>

<stationlist>

<tunein base="/sbin/tunein-station.pls" />

<station name="PJ Nicky SuperRequest - a SHOUTcast.com member station" mt="audio/mpeg" id="172748" br="64" genre="Various" ct="(Ost. ) -" lc="9946" />

<station name="   TOP 100  ReaLCasT - a SHOUTcast.com member station" mt="audio/mpeg" id="242423" br="128" genre="" ct="- Be My Baby" lc="7485" />

<station name="Alex Jones - Infowars.com - a SHOUTcast.com member station" mt="audio/mpeg" id="1026951" br="32" genre="Talk News Political" ct="Sunday Show Replay - Hr 2 (PrisonPlanet.tv)" lc="4216" />

<station name="  .  - a SHOUTcast.com member station" mt="audio/mpeg" id="119368" br="128" genre="" ct="[db]" lc="3453" />

<station name="Auto PJ. RequestRadio - a SHOUTcast.com member station" mt="audio/mpeg" id="30375" br="128" genre="" ct="- The Star 7" lc="2453" />

</stationlist>

成功解析并获取/sbin/tunein-station.pls

现在我该怎么做呢?

NSString *data = [[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:"http://yp.shoutcast.com/sbin/tunein-station.pls?id=21585&play_status=1"]];

由于我只收到 /sbin/tunein-station.pls

NSString *strEscapedValue = (__bridge_transfer NSString * )CFURLCreateStringByAddingPercentEscapes(nil, (__bridge CFStringRef)data, NULL, NULL, kCFStringEncodingUTF8);

    NSLog(@"escaped value : %@",strEscapedValue);

strEscapedValue 的值为 (null)

NSURL *url = [NSURL URLWithString:strEscapedValue];

    streamer = [[AudioStreamer alloc] initWithURL:url];

你需要获取他们的AAC链接。 - Tushar Chutani
什么是 AAC 链接?我在此链接(http://dev.aol.com/SHOUTcast/documentation)获取了文档。 - Heena
你应该能够将AVPlayer指向Shoutcast电台的URL。 - Rhythmic Fistman
我不明白你的意思。能否请你详细说明一下,因为我完全不了解 shoutcast。 - Heena
如果您想从 shoutcast 服务器播放流,请使用 AudioStreamer:https://github.com/mattgallagher/AudioStreamer - dimme
我得到了这段代码,它运行良好。但是我无法从Shoutcast服务器获取播放流。 - Heena
2个回答

2

我不太确定这是否有帮助,但这是我想出的一个解决方案..你可以使用 mattgallagher音频流播放器 来从url流式传输音乐。现在为了获取“流媒体”url,您将需要从一个像这样的pls文件中解析它 从shoutcast网站上获取 。您可以通过将其作为文本打开来从pls文件中获取aac url。对于iPhone用户,您可以按照以下步骤操作-

 NSString *data = [[NSString alloc]initWithContentsOfURL:[NSURL URLWithString:"http://yp.shoutcast.com/sbin/tunein-station.pls?id=21585&play_status=1"]];

请注意,URL 是 PLS 文件的 URL,它将获取 PLS 文件中的所有文本。现在您可以简单地解析出 acc 的 URL 并在音频流播放器中使用。

我并不指望别人来完成我的任务。我无法在Shoutcast上注册,因此无法获得我的devID,没有devID我将无法获得任何响应。所以我只是想问你是如何获得那个ID的。 - Heena
我所做的就是从一个电台获取嵌入代码,然后找到了pls链接。 - Tushar Chutani
你能提供一下你获取代码的链接吗?因为我找不到,而且还不知道如何让它工作。 - Heena
只需打开一个广播电台并复制其嵌入代码,然后找到pls链接。 - Tushar Chutani
抱歉问您这么基础的问题,但我完全不知道...我在哪里可以获取嵌入式代码? - Heena
显示剩余3条评论

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接