List Winamp

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

List Winamp

Message par MetalOS »

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.
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

C'est qu'un bête fichier texte avec les urls/ip des serveurs shoutcast, PB sait ouvrir et même lire le contenu des fichiers :lol:
"Qui baise trop bouffe un poil." P. Desproges
Avatar de l’utilisateur
Flype
Messages : 2431
Inscription : jeu. 29/janv./2004 0:26
Localisation : Nantes

Message par Flype »

KarLKoX a écrit :C'est qu'un bête fichier texte avec les urls/ip des serveurs shoutcast, PB sait ouvrir et même lire le contenu des fichiers :lol:
t'es sûr ? trop fort purebasic :lol:
Image
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

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.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

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.
Dans ce cas, fallait demander si PB peut lire les shoutcast. Pas si il pouvait charger les url.

Exemple type d'une question mal posée. :roll:
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

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.
"Qui baise trop bouffe un poil." P. Desproges
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Merci pour ta réponse KalrKoX, je vient d'essayer avec WMP mais il n'arrive pas à me lire le liens. je v voir du coté de mgplib si je peut trouver quelque chose. Merci.
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

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).
"Qui baise trop bouffe un poil." P. Desproges
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Merci pour ces infos presieuses, mais dit voir mpglib est une dll si je me trompe pas, il existe une userlib ? au sinon ou trouver les commande pour l'exploiter. Merci.
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

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 ...).
"Qui baise trop bouffe un poil." P. Desproges
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Bon apres de nombreuses recherche sur le net, impossible de trouver ce que je veut. Voici l'adresse qui provient du fichier *.pls

Code : Tout sélectionner

http://208.85.242.37:8000/
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.
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

salut MetalOS

voici une petite piste :wink: .

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)
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 :wink: .




@++
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
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Salut venom est merci pour ta réponse. Y aurrais t'il la possibiliter de faire la même chose que ce que tu à fait mais sans ouvrir le Media player que l'application fait avec purebasic reste autonome ????
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

Et bien ont peut toujours regarder a sa on ne sais jamais :wink:

[EDIT]
pour le moment j'y arrive avec média player et même en la cachant :P voir le code du dessus :wink: .

mais le faire qu'avec purebasic 8O faudrai au moins trouvé une dll ou lib qui gère le streaming. purebasic en lui même n'intègre pas cette fonction.



@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
MetalOS
Messages : 1510
Inscription : mar. 20/juin/2006 22:17
Localisation : Lorraine
Contact :

Message par MetalOS »

Merci venom désoler pour la réponse tardive. Merci pour ta source qui est une bonne piste pour pouvoir ecouter une web radio, mais le problème c que si je veut lire une video avec Media player je coupe l'ecoute de la web radio. Mais je continue à creuser sur ta source. Merci.
Répondre