Internatradio : Metadaten ermitteln

20/05/2008 - 09:19 von Karsten Böhme | Report spam
Hallo miteinander,

ich benötige bei folgendem Problem dringend eure Hilfe :

Für ein Internetradio sollen die Metadaten des Senders ausgelesen werden.
Grundlage bildet dabei der Beitrag aus "The Code Project" .

www.codeproject.com/KB/audio-video/SHOUTcastRipper.aspx?msg48226#xx1248226xx

-

HttpWebRequest request = null; // web request
HttpWebResponse response = null; // web response

string mURL = "http://www.global24music.com/rautem...asx";

request = (HttpWebRequest)WebRequest.Create(mURL);

// alten Header löschen, Header zum Empfang von "ICY-Metadatas" erzeugen
request.Headers.Clear();
request.Headers.Add("GET", "/" + " HTTP/1.0");
request.Headers.Add("Icy-MetaData", "1");
request.UserAgent = "WinampMPEG/5.09";

response = (HttpWebResponse)request.GetResponse();

String probe = response.GetResponseHeader("icy-name");
int metaint = Convert.ToInt32(response.GetResponseHeader("icy-metaint"));


Egal welchen Sender ich eingebe, "response.GetResponseHeader( ... )" gibt in
jedem Fall
einen Leerstring zurück ! Da ich das Beispiel exakt dem Sourcecode aus "The
Code Project"
entnommen habe bin ich mit meinem Latein am Ende. Was mache ich falsch ???

Vielen Dank im voraus für eure Hilfe !

Karsten Böhme
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
20/05/2008 - 10:54 | Warnen spam
Hallo Karsten,

"Karsten Böhme" schrieb:

Für ein Internetradio sollen die Metadaten des Senders ausgelesen werden.
Grundlage bildet dabei der Beitrag aus "The Code Project" .
www.codeproject.com/KB/audio-video/SHOUTcastRipper.aspx?msg48226#xx1248226xx



Dort gehts also um Shoutcast!?

http://de.wikipedia.org/wiki/SHOUTcast

string mURL = "http://www.global24music.com/rautem...asx";



Und hier um Windows Media, bzw. ASX.

http://de.wikipedia.org/wiki/Windows_Media
http://de.wikipedia.org/wiki/ASX

Schau dir mal den Quellcode der genannten Url an. Das ist eine ASX Datei.

view-source:http://www.global24music.com/rautem...ub/dsl.asx
(Einfach mal mit Firefox aufrufen)

request.Headers.Add("Icy-MetaData", "1");



Und was soll der HTTP Server damit anfangen?

Egal welchen Sender ich eingebe, "response.GetResponseHeader( ... )" gibt in jedem Fall
einen Leerstring zurück ! Da ich das Beispiel exakt dem Sourcecode aus "The Code Project"
entnommen habe bin ich mit meinem Latein am Ende. Was mache ich falsch ???



Du nimmst an, dass jedes Streamingprotokoll identisch ist (wobei der oben
genannte Url gar keinen Stream ausgibt, sondern lediglich einige Metadaten
im ASX Format)

Das, was Du machen willst, musst Du für jedes Streamingprotokoll einzeln
machen. Wenn Du auf den oben genannten Url (bzw. ASX im Allgemeinen)
beschrànkt bist, solltest Du Dir das hier mal anschauen:

http://www.microsoft.com/windows/wi...mmeta.aspx

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen