*.m3u, *.pls Auslesen und ermitteln
- Tsuki-Namida
- Beiträge: 633
- Registriert: 17.11.2005 13:27
- Kontaktdaten:
*.m3u, *.pls Auslesen und ermitteln
Hallo,
ich möchte gerne überprüfen welches datei format der Benutzer angegeben hat, nur ich weis nicht wie ich das machen kann....
Also ich kann in meinem programm eine Server adrsse angeben. aber diese Adresse steht meistens in Playlisten "*.m3u|*.pls" ich müchte das Benutzer auch diese angeben könnten und ich filter dann die Server Adresse raus.
Nur jetzt kommt ein weiteres Proplem.... bei einer m3u Datei steht alles schöhn unter einander aber nicht immer in der selben Reinfolge. zum beispiel so:
#EXTM3U
#EXTINF:-1,Radio Dunkle Welle - LoFi-Stream
http://www.radiodunklewelle.de:8000/
oder so:
Radio Dunkle Welle - LoFi-Stream
http://www.radiodunklewelle.de:8000/
oder so:
http://www.radiodunklewelle.de:8000/
wie lese ich da die Entsprechende URL aus?
Bei eine Pls Datei siht die Formatierung wieder ganz anderst aus
Beispil so:
[playlist]NumberOfEntries=1File1=http://radio.r-b.ru:8200/
oder so:
[playlist]
NumberOfEntries=1
File1=http://radio.r-b.ru:8200/
oder so:
[playlist]File1=http://radio.r-b.ru:8200/
Wie mache ich das dann hier?
ich möchte gerne überprüfen welches datei format der Benutzer angegeben hat, nur ich weis nicht wie ich das machen kann....
Also ich kann in meinem programm eine Server adrsse angeben. aber diese Adresse steht meistens in Playlisten "*.m3u|*.pls" ich müchte das Benutzer auch diese angeben könnten und ich filter dann die Server Adresse raus.
Nur jetzt kommt ein weiteres Proplem.... bei einer m3u Datei steht alles schöhn unter einander aber nicht immer in der selben Reinfolge. zum beispiel so:
#EXTM3U
#EXTINF:-1,Radio Dunkle Welle - LoFi-Stream
http://www.radiodunklewelle.de:8000/
oder so:
Radio Dunkle Welle - LoFi-Stream
http://www.radiodunklewelle.de:8000/
oder so:
http://www.radiodunklewelle.de:8000/
wie lese ich da die Entsprechende URL aus?
Bei eine Pls Datei siht die Formatierung wieder ganz anderst aus
Beispil so:
[playlist]NumberOfEntries=1File1=http://radio.r-b.ru:8200/
oder so:
[playlist]
NumberOfEntries=1
File1=http://radio.r-b.ru:8200/
oder so:
[playlist]File1=http://radio.r-b.ru:8200/
Wie mache ich das dann hier?
Dass filtert dir die Url´s raus:
Code: Alles auswählen
ReadFile(1,"c:\test.txt")
Repeat
a$=ReadString()
If FindString(a$,"http",0)
b=FindString(a$,"http",0)
c$=Mid(a$,b,200)
url$=Trim(c$)
EndIf
Until url$
Debug url$
CloseFile(1)
- Tsuki-Namida
- Beiträge: 633
- Registriert: 17.11.2005 13:27
- Kontaktdaten:
- Tsuki-Namida
- Beiträge: 633
- Registriert: 17.11.2005 13:27
- Kontaktdaten:
Das ist ach nicht so das wahre..... dann es geht ja auch "http://www.radio.de/datei.m3u"Macros hat geschrieben:Such einfach nach Http: ,
das ist dann bestimmt kein Dateipfad.
- Tsuki-Namida
- Beiträge: 633
- Registriert: 17.11.2005 13:27
- Kontaktdaten:
ich boin nun ein stück weiter. nur habe ich noch einen denkfehler 
Das Programm blendet im Debug immer wieder "Debug PeekS(@LnTmp+(StrPos.l-1),Len(LnTmp.s)-StrPos.l)" ein und kommt nicht zu "Debug url$" was ist da falsch? ich muss ja Wenn kein *.m3u mehr kommt die url verwenden damit ich das entsprechende Radio auch starten kann
PS: wenn ich Gosub mit GoTo austausche dann habe ich das selbe proplem

Code: Alles auswählen
Adresse$ = "C:\Test.m3u"
Neu:
ReadFile(1,Adresse$)
tmp.s=Space(Lof())
ReadData (@tmp,Lof())
CloseFile(1)
For x=1 To CountString (tmp,Chr(13))+1
LnTmp.s=StringField(tmp,x,Chr(13))
LnTmp.s=PeekS(@LnTmp+1,Len(LnTmp.s)-1)
StrPos.l=FindString (LCase(LnTmp.s),"m3u",1)
If StrPos.l
;Debug LnTmp.s
;Debug tmp.s
Debug PeekS(@LnTmp+(StrPos.l-1),Len(LnTmp.s)-StrPos.l)
URLDownloadToFile_(0, tmp.s, "C:\Test2.m3u", 0, 0)
Adresse$ = "C:\Test2.m3u"
Gosub Neu
Return
EndIf
Next x
Repeat
a$=tmp.s
If FindString(a$,"http",0)
b=FindString(a$,"http",0)
c$=Mid(a$,b,200)
url$=Trim(c$)
EndIf
Until url$
Debug url$
PS: wenn ich Gosub mit GoTo austausche dann habe ich das selbe proplem
Nein, Return verwendet man bei Gosub (wenn man nicht ganz auf Gosub verzichtet, was besser wäre)Zaphod hat geschrieben:kann ich nur zustimmen. goto und gosub sind absolut tabu. das return könnte ursächlich für das problem sein. ein return verwendet man um bei einer prozedur einen rückgabewert zurückzugeben.
Was du meinst ist ProcedureReturn.