1

Objective-Cでアプリケーションを作成していますが、SHOUTcastストリームからメタデータを取得する必要があります。私はこれを試しました:

NSURL *URL = [NSURL URLWithString:@"http://202.4.100.2:8000/"];
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
    [request addValue:@"1" forHTTPHeaderField:@"icy-metadata"];
    [request addValue:@"Winamp 5/3" forHTTPHeaderField:@"User-Agent"];
    [request addValue:@"audio/mpeg" forHTTPHeaderField:@"Content-Type"];
    [NSURLConnection connectionWithRequest:request delegate:self];

情報を取得するには、このリクエストからヘッダーを取得する必要がありますよね?残念ながら、次のヘッダーを返し続けます。

日付="2010年4月17日21:57:14-0200";

"Max-Age" = 0;

私が間違っているのは何ですか?

4

3 に答える 3

6

この質問に対する答えを見つけました。URLの最後に7.htmlを追加して、ファイルを解析するだけです。

IE http://38.96.148.138:7534/7.html

于 2010-10-08T14:39:17.583 に答える
1

この問題に対するフェルナンドバレンテの解決策

http://www.fvalente.org/blog/2012/03/15/shoutcast-metadata-the-easy-way/

于 2012-11-27T12:12:10.420 に答える
0

shoutcastはHTTP交換標準に準拠しておらず、その応答ヘッダーと本文は2つの改行で区切られていないようです。NSURLConnection / NSURLResponseは、ヘッダーを解析できません。ただし、connection:didReceiveResponse:NSURLResponseが空の場合は、引き続き起動されます。これは、入ってくるデータを見ると明らかになりますconnection:didReceiveData:。受信した最初のチャンクには、メタデータヘッダーが含まれます。

于 2010-04-18T03:29:33.040 に答える