List Winamp
List Winamp
Salut tous le monde, quelqu'un peut me dir si il y a possibilité de charger une liste de diffusion Winamp ou shocast (*.pls) dans un programme PB sans installer ou utiliser winamp. Un truc autonomme. Merci.
Dans ce cas, fallait demander si PB peut lire les shoutcast. Pas si il pouvait charger les url.MetalOS a écrit :Oui KarlKoX c vrais que les fichier *.pls (donc shoutcast) contien un url, mais quand j'essais de le lire il me renvoie vers la page d'administration de la radio web et ne me charge pas ce qu'elle diffuse en musique.
Exemple type d'une question mal posée.

C'est logique, le shoutcast est un protocol et pour l'écouter, il faut la suivre (la norme).
Méthode la plus simple : passer l'url que tu viens de récupérer à WMP.
Méthode moins simple mais plus gratifiante : tout décoder soit même, ça peut se faire en faisant un simple décodeur de streaming en utilisant mpglib puis les fonctions réseaux de PB.
Méthode la plus simple : passer l'url que tu viens de récupérer à WMP.
Méthode moins simple mais plus gratifiante : tout décoder soit même, ça peut se faire en faisant un simple décodeur de streaming en utilisant mpglib puis les fonctions réseaux de PB.
"Qui baise trop bouffe un poil." P. Desproges
Ok, vu que tu as l'air motivé et que tu souhaites utiliser mpglib, il te faudra :
- se connecter au flux,
- avec la connexion, récupérer ce que le serveur t'envoie (icy,br etc ...),
- créer un thread (c'est ce qu'il y a de mieux) qui s'occupera de récupérer le flux, parsing du flux pour voir s'il y a du metadata (streamtitle,streamurl), envoie du paquet au décodeur mpglib,
- envoie du paquet décodé depuis mpglib à directsound (ou autre).
- se connecter au flux,
- avec la connexion, récupérer ce que le serveur t'envoie (icy,br etc ...),
- créer un thread (c'est ce qu'il y a de mieux) qui s'occupera de récupérer le flux, parsing du flux pour voir s'il y a du metadata (streamtitle,streamurl), envoie du paquet au décodeur mpglib,
- envoie du paquet décodé depuis mpglib à directsound (ou autre).
"Qui baise trop bouffe un poil." P. Desproges
mpglib est opensource donc il sufit de la compiler de la façon que tu veux soit sous forme de DLL à appeler dynamiquement soit en la compilant sous la forme d'une lib statique auquel cas il faudra faire les imports nécéssaires.
C'est du code qui compile avec n'importe quel compilateur (gcc, vc++, metroworks ...).
C'est du code qui compile avec n'importe quel compilateur (gcc, vc++, metroworks ...).
"Qui baise trop bouffe un poil." P. Desproges
Bon apres de nombreuses recherche sur le net, impossible de trouver ce que je veut. Voici l'adresse qui provient du fichier *.pls
Si toutefois quelqu'un peut m'aider ca serais bien cool car la je commence à abandonné.
Je cherche juste à pouvoir ecouter cette radio avec la recupération du titre du morceau jouer. Merci d'avance pour votre aide.
Code : Tout sélectionner
http://208.85.242.37:8000/
Je cherche juste à pouvoir ecouter cette radio avec la recupération du titre du morceau jouer. Merci d'avance pour votre aide.
salut MetalOS
voici une petite piste
.
mon code fonctionne très bien mais la je doit partir au taf je n'est pas encore vu la fonction pour quitter un programme après l'avoir executer avec runprogram() et sa sera bon
.
@++
voici une petite piste

Code : Tout sélectionner
;- Window Constants
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
Enumeration
#String_0
#String_1
#Button_0
#Frame3D_0
EndEnumeration
If OpenWindow(#Window_0, 0, 0, 480, 70, "pls ++", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#Window_0))
Frame3DGadget(#Frame3D_0, 10, 10, 460, 45, "")
StringGadget(#String_0, 20, 25, 260, 20, "http://208.85.242.37")
StringGadget(#String_1, 295, 25, 50, 20, "8000")
ButtonGadget(#Button_0, 360, 25, 100, 20, "connexion")
EndIf
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Button_0
soft$ = "wmplayer.exe" ;<---------- on prepart windows media player
url$ = GetGadgetText(#String_0);<---------- on renvoie le texte dans le string_0
port$ = GetGadgetText(#String_1);<---------- on renvoie le texte dans le string_1
Programme = RunProgram(soft$, url$+":"+port$, "", #PB_Program_Open| #PB_Program_Hide);<---------- on fait un runprogram (qui permet d'ouvrir windows media player) et de lui indiquer les identifiants suivant : url$+port$. qui en faite est egale a (http://208.85.242.37:8000) et voila.
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow
KillProgram(Programme)

@++
Dernière modification par venom le mer. 02/avr./2008 17:28, modifié 3 fois.
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Et bien ont peut toujours regarder a sa on ne sais jamais
[EDIT]
pour le moment j'y arrive avec média player et même en la cachant
voir le code du dessus
.
mais le faire qu'avec purebasic
faudrai au moins trouvé une dll ou lib qui gère le streaming. purebasic en lui même n'intègre pas cette fonction.
@++

[EDIT]
pour le moment j'y arrive avec média player et même en la cachant


mais le faire qu'avec purebasic

@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
GPU : radeon HD6370M, CPU : p6200 2.13Ghz