現在、ラジオ アプリで別のオンライン ラジオ ソースからデータを取得し、次の実装によって結果をフィルタリングしています。
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 を取得する特定の場所が見つかりません。シャウトキャストのウェブサイトにアクセスして「パートナーになる」ことを試みましたが、シャウトキャストの次のバージョンに取り組んでおり、新しいパートナーを許可していないというメッセージが表示されます (このメッセージは昨年から表示されています)。シャウトキャスト ステーションのすべての XML にアクセスしてアプリに統合するには、参加する必要がありますか?
最終的には、Shoutcast からすべてのラジオ局のリストを取得できる URL と、ユーザーがすべてのリスト URL をドラッグして更新できるようにする更新 URL を用意する必要があります。仕事。(現在のステーションですでにリフレッシュ機能を実装しています)
更新: API ドキュメンテーションを見ると、ここで見つけることができます: LINK彼らはDev ID
再びa を参照しているように見えますが、これにより、パートナーになることについて前に述べたことがわかります。