Page 1 sur 1

Une Webradio

Publié : sam. 20/avr./2019 11:47
par cage
Bonjour a tous,

Voici une Webradio sans prétention faite pour une personne déficiente visuelle.
Je me suis inspiré des 2 posts suivants #1 et #2
Merci a firace du Forum Anglais et falsam du forum Français
Merci aussi aux autres membres qui n'hésitent pas a m'apporter leur aide quand j'en ai besoin.
Image
Les sources et les exécutables sont téléchargeables ici
Pour l'icône, j'ai emprunté celle de IDRT pour ceux qui connaissent.
Je sais, c'est pas bien.

CAGE

Re: Une Webradio

Publié : sam. 20/avr./2019 15:42
par Ar-S
Tout comme les codes des liens que tu as utilisé, les 2 soucis pour moi face à fmodex restent :
- l'absence de lecture des tag auteur/titre (du moins pour les radios compatibles)
- La réinitialisation du volume quand on change de radio.
et (mais ça c'est remédiable)
- l'inclusion des url dans l'exe qui force la recompilation si une radio change d'IP. Les utilisateurs ne vont pas retélécharger le soft à chaque changement d'url.

Si ça peut te servir, je te file ma procédure de mise à jour de mes stations de radio.
J'ai utilisé ta liste pour l'exemple :

Code : Tout sélectionner


;-------------------- CODE ------------------------

Declare UpdateList(urlliste$)

InitNetwork()

Structure Radio
  NOM.s
  URL.s
EndStructure

Global NewList R.RADIO()

; ****** URL A MODIFIER ***********
TonFichiersListeRadio$  = "urldevotrefichier_listeradioradio.txt"
; ********************************


UpdateList(TonFichiersListeRadio$)

ForEach R()
  Debug R()\NOM
  Debug R()\URL
Next




;-------------------- STRUCTURE ------------------------



Procedure UpdateList(urlliste$)
  Protected Count, R$, L, Separ,Contenu$, RTEMP$, RTEMP2$
  
  Debug "TEST RECEPTION LISTE RADIO" ;- TEST
  *Buffer = ReceiveHTTPMemory(urlliste$)
  If *Buffer
    Debug "RECEPTION OK" ;- TEST
    Taille = MemorySize(*Buffer)
    Contenu$ = PeekS(*Buffer, Taille, #PB_UTF8)
    FreeMemory(*Buffer)
    
    Count = CountString(Contenu$,Chr(10))
    Debug "COMPTE : " + Count
    
     If Count > 0
      ClearList(R())

      For i = 1 To Count
        R$ = StringField(Contenu$,i,Chr(10) )
        AddElement (R())
        
          R()\NOM.s = StringField(R$,1,",")
          R()\URL.s = StringField(R$,2,",")
        
      Next
      
      ; TRIE DE LA LISTE PAR ORDRE ALPHABETIQUE
      SortStructuredList ( R(), #PB_Sort_Ascending|#PB_Sort_NoCase, OffsetOf(RADIO\NOM), TypeOf(RADIO\NOM ) )
      
            
    EndIf
    
  Else
    Debug "RECEPTION ERROR" ;- TEST
      EndIf
  
EndProcedure

Re: Une Webradio

Publié : sam. 20/avr./2019 22:33
par cage
Merci Ar-S

J'ai fais au plus simple, car au départ cette application était pour ma sœur.
Comme je fais la maintenance de son PC, avoir a recompiler l'application n'est pas un problème s'il faut que j'ajoute/retire/modifie une ou plusieurs radios.
Je vais regarder ton code de plus près et l'adapter a la webradio.

CAGE

Re: Une Webradio

Publié : dim. 21/avr./2019 20:14
par cage
Bonsoir a tous,

@Ar-S, tu peux retirer le lien vers radiotest.txt. Merci.

J'ai modifié l'application Webradio de cette façon:
Au premier lancement, elle crée un fichier webradio.txt dans le dossier de l'application.
Ce fichier est constitué a partir des Datas contenus dans l'exe.
On peut ainsi en modifiant ce fichier ajouter, retirer ou modifier des radios.

Voir le premier post pour le téléchargement.

CAGE