我只知道 ShoutCast 的功能,它流式传输广播列表。
但不知道如何在 iphone 应用程序中使用它。
现在我只是在看它的网站 http://www.shoutcast.com/
因为我没有通过谷歌搜索 execpt 找到它的网站
任何教程都会有所帮助。
我得到的回应是,
<?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];
最佳答案
我不太确定这是否会有所帮助,但这是我提出的一个解决方案..您可以使用 mattgallagher audio streamer 来帮助您从 url 流式传输音乐。现在,为了获得“流媒体”网址,您必须从像这样的 one 这样的 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 文件,它将获取 pls 文件中的所有文本。现在您可以简单地解析出 acc 网址并在音频流媒体中使用
关于iphone - 如何在 iPhone 应用程序中使用 Shoutcast?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8768643/