Appli de lecture de la webradio RLF2

Vous voulez partagez vos créations en SpiderBasic ?
hub73
Messages : 126
Inscription : sam. 16/janv./2021 20:17

Appli de lecture de la webradio RLF2

Message par hub73 »

Bonjour à vous. Je ne comprends pas trop ce qui se passe.
Dans la partie supérieure de l'application le bouton à gauche sert à activer ou désactiver la lecture du flux direct de la webradio.
Ce qui se passe c'est que de nombreux flux semblent lancés au démarrage ! Bon c'est bien pour les stats mais c'est inaudible !
Ensuite si je clique sur le bouton et il disparait !
Au dessous de cette partie se trouve un webview qui contient le site internet. Et plus bas un bouton quitter qui fonctionne bien.
Bref des choses m'échappent. Merci pour vorte aide.

L'apk est ici pour tester : https://lesfloralies.info/telech/RLF2.apk

Voici le code :

Code : Tout sélectionner

EnableExplicit

#POSY_DEPART = 30

Enumeration
  #Window
  #ImageGadgetPlayPause
  #ImageGadgetInfos
  #ImagePlayButton
  #ImagePauseButton
  #ImageQuitterButton
  #ImageInfosButton
  #WebGadget
  #ImageGadgetBoutonQuitter
EndEnumeration

 Procedure ImageGadgetEventPlayPause()
   
   SetGadgetState(#ImageGadgetPlayPause, 0)
 
   ! const audiospider = $('#MonAudioSpider') ;
   ! if (audiospider.paused) {
   !   audiospider.play();
       SetGadgetState(#ImageGadgetPlayPause, ImageID(#ImagePauseButton))
   ! } else {
   !   audiospider.pause();
       SetGadgetState(#ImageGadgetPlayPause, ImageID(#ImagePlayButton))
   ! }  
   
 EndProcedure

Procedure ImageGadgetEventInfos()
  
   MessageRequester("Bonjour à vous et bienvenue dans la première version de l'application Android de la webradio ! Vous pouvez également naviguer sur le site www.rlf2.fr depuis votre navigateur !", #PB_MessageRequester_Ok)

EndProcedure

Procedure ButtonGadgetEventQuitter()
  
  End
  
EndProcedure

Procedure Main()
  
  OpenWindow(#Window, 0, 0, 520, 300, "RLF2 webradio", #PB_Window_Background|#PB_Window_ScreenCentered)
  SetWindowColor (#Window, $BF203F) 
  
  WebGadget(#WebGadget, 0, ImageHeight(#ImagePlayButton) + #POSY_DEPART + 10 , DesktopWidth(0), DesktopHeight(0) - ImageHeight(#ImagePlayButton) - #POSY_DEPART - 10, "https://lesfloralies.info/")
  
  ImageGadget(#ImageGadgetPlayPause, 20 , #POSY_DEPART, ImageWidth(#ImagePlayButton), ImageHeight(#ImagePlayButton), ImageID(#ImagePlayButton))
  BindGadgetEvent(#ImageGadgetPlayPause, @ImageGadgetEventPlayPause())
  
  ImageGadget(#ImageGadgetInfos, ImageWidth(#ImagePlayButton) + 20, #POSY_DEPART, ImageWidth(#ImageInfosButton), ImageHeight(#ImageInfosButton), ImageID(#ImageInfosButton))
  BindGadgetEvent(#ImageGadgetInfos, @ImageGadgetEventInfos())
  
  ImageGadget(#ImageGadgetBoutonQuitter, (DesktopWidth(0) - ImageWidth(#ImageQuitterButton)) / 2, DesktopHeight(0)-ImageHeight(#ImageQuitterButton) - 10, ImageWidth(#ImageQuitterButton),ImageHeight(#ImageQuitterButton), ImageID(#ImageQuitterButton))
  BindGadgetEvent(#ImageGadgetBoutonQuitter, @ButtonGadgetEventQuitter())
  
   Protected HTML.s = "<audio controls='' autoplay='' id='MonAudioSpider' hidden='true'>" + 
                      "<source src='https://www.lesfloralies.ovh/floralies.ogg' type='application/ogg'>" + 
                      "<source src='https://www.lesfloralies.ovh/floralies.mp3' type='audio/mpeg'>" + 
                      "</audio>"  
   
   ! $('body').append(v_html);
  
  SetGadgetState(#ImageGadgetPlayPause, ImageID(#ImagePauseButton))
  
EndProcedure

  Procedure LoadingError(Type, Filename$, ObjectId)
    Debug Filename$ + ": loading error"
  EndProcedure
  
  ; Register the loading event before calling any resource load command
  BindEvent(#PB_Event_Loading, @Main())
  BindEvent(#PB_Event_LoadingError, @LoadingError())
  
  LoadImage(#ImagePlayButton,  "Data/bouton_play.png")
  LoadImage(#ImagePauseButton, "Data/bouton_pause.png")
  LoadImage(#ImageQuitterButton, "Data/bouton_quitter.png")  
  LoadImage(#ImageInfosButton, "Data/bouton_info.png")  

  
hub73
Messages : 126
Inscription : sam. 16/janv./2021 20:17

Re: Appli de lecture de la webradio RLF2

Message par hub73 »

J'ai revu le code

Code : Tout sélectionner


EnableExplicit

#POSY_DEPART = 30

Enumeration
  #Window
  #ImageGadgetPlayPause
  #ImageGadgetInfos
  #ImagePlayButton
  #ImagePauseButton
  #ImageQuitterButton
  #ImageInfosButton
  #WebGadget
  #ImageGadgetBoutonQuitter
EndEnumeration

 Procedure ImageGadgetEventPlayPause()
   
   SetGadgetState(#ImageGadgetPlayPause, 0)
   Debug "met ImageGadgetPlayPause à 0"
 
   ! const audiospider = $('#MonAudioSpider')[0] ;
   ! if (audiospider.paused) {
   !   audiospider.play();
       SetGadgetState(#ImageGadgetPlayPause, ImageID(#ImagePauseButton))
       Debug "met ImageGadgetPlayPause à play"
   ! } else {
   !   audiospider.pause();
       SetGadgetState(#ImageGadgetPlayPause, ImageID(#ImagePlayButton))
        Debug "met ImageGadgetPlayPause à pause" 
   ! }  
   
 EndProcedure

Procedure ImageGadgetEventInfos()
  
   MessageRequester("Bonjour à vous et bienvenue dans la première version de l'application Android de la webradio ! Vous pouvez également naviguer sur le site www.rlf2.fr depuis votre navigateur !", #PB_MessageRequester_Ok)

EndProcedure

Procedure ButtonGadgetEventQuitter()
  
  End
  
EndProcedure

Procedure Main()
  
  OpenWindow(#Window, 0, 0, 520, 300, "RLF2 webradio", #PB_Window_Background|#PB_Window_ScreenCentered)
  SetWindowColor (#Window, $BF203F) 
  
  WebGadget(#WebGadget, 0, ImageHeight(#ImagePlayButton) + #POSY_DEPART + 10 , DesktopWidth(0), DesktopHeight(0) - ImageHeight(#ImagePlayButton) - #POSY_DEPART - 10, "https://lesfloralies.info/")
  
  ImageGadget(#ImageGadgetPlayPause, 20 , #POSY_DEPART, ImageWidth(#ImagePlayButton), ImageHeight(#ImagePlayButton), ImageID(#ImagePlayButton))
  BindGadgetEvent(#ImageGadgetPlayPause, @ImageGadgetEventPlayPause())
  
  ImageGadget(#ImageGadgetInfos, ImageWidth(#ImagePlayButton) + 20, #POSY_DEPART, ImageWidth(#ImageInfosButton), ImageHeight(#ImageInfosButton), ImageID(#ImageInfosButton))
  BindGadgetEvent(#ImageGadgetInfos, @ImageGadgetEventInfos())
  
  ImageGadget(#ImageGadgetBoutonQuitter, (DesktopWidth(0) - ImageWidth(#ImageQuitterButton)) / 2, DesktopHeight(0)-ImageHeight(#ImageQuitterButton) - 10, ImageWidth(#ImageQuitterButton),ImageHeight(#ImageQuitterButton), ImageID(#ImageQuitterButton))
  BindGadgetEvent(#ImageGadgetBoutonQuitter, @ButtonGadgetEventQuitter())
  
  Debug "Je passe ici"
  
  SetGadgetState(#ImageGadgetPlayPause, ImageID(#ImagePauseButton))
  
EndProcedure

Procedure Script()
  
     Protected HTML.s = "<audio controls='' autoplay='' id='MonAudioSpider' hidden='true'>" + 
                      "<source src='https://www.lesfloralies.ovh/floralies.ogg' type='application/ogg'>" + 
                      "<source src='https://www.lesfloralies.ovh/floralies.mp3' type='audio/mpeg'>" + 
                      "</audio>"  
   
   ! $('body').append(v_html);
   
   Debug "Je passe a ce script"
  
EndProcedure

  Procedure LoadingError(Type, Filename$, ObjectId)
    Debug Filename$ + ": loading error"
  EndProcedure
  
  
  ; DEBUT DU PROGRAMME
  
  CloseDebugOutput()
  
  ; Register the loading event before calling any resource load command
  BindEvent(#PB_Event_Loading, @Main())
  BindEvent(#PB_Event_LoadingError, @LoadingError())
  
  LoadImage(#ImagePlayButton,  "Data/bouton_play.png")
  LoadImage(#ImagePauseButton, "Data/bouton_pause.png")
  LoadImage(#ImageQuitterButton, "Data/bouton_quitter.png")  
  LoadImage(#ImageInfosButton, "Data/bouton_info.png")  
  
  Main()
  Script()
  
  
Cela semble fonctionner un peu mieux. J'ai également recompilé l'apk téléchargeable au post précédent. Si elle fonctionne bien chez vous, merci de me l'indiquer.
Avatar de l’utilisateur
cage
Messages : 604
Inscription : ven. 16/oct./2015 18:22
Localisation : France
Contact :

Re: Appli de lecture de la webradio RLF2

Message par cage »

Bonsoir hub73,

J'ai installé ton application sur ma tablette Android (LENOVO-TAB-M10) et elle semble fonctionner correctement.

Pour l'instant, je me suis contenté d'écouter la radio tout en navigant sur les différentes pages.

Le bouton (?) affiche un message de bienvenue mais coupe la radio au bout de quelques secondes. Normal ?
La lecture reprend dès qu'on clique sur OK.

Lorsqu'on affiche la liste des podcasts, le menu "-Aller a la page d'accueil ..." ne fait rien.
Pour sortir de la liste, il me faut cliquer sur la flèche Retour Arrière de ma tablette.
Le menu "- La liste des podcasts -" ne fait rien non plus. Je m'attendais a revenir au début de la liste.

Voila pour l'instant, si je remarque d'autres choses, je te ferais remonter l'information.

cage
■ Win10 Pro 64-bit (Intel Celeron CPU N2920 @ 1.86GHz, 4,0GB RAM, Intel HD Graphics) & PB 6.12 LTS
■ Vivre et laisser vivre.
■ PureBasic pour le fun
■ Gérard sur le forum Anglais
■ Mes sites: http://pbcage.free.fr - http://yh.toolbox.free.fr
hub73
Messages : 126
Inscription : sam. 16/janv./2021 20:17

Re: Appli de lecture de la webradio RLF2

Message par hub73 »

Merci Cage. Je corrigerai tout cela prochainement quand je serai au local de l'association plus longtemps !

J'aimerai que le titre de la fenêtre information qui s'ouvre n'ai pas comme titre 'alert' et je ne vois pas une option qui permet de définir le titre :

Code : Tout sélectionner

   MessageRequester("Bonjour à vous et bienvenue dans la première version de l'application Android de la webradio ! Vous pouvez également naviguer sur le site www.rlf2.fr depuis votre navigateur !", #PB_MessageRequester_Ok)
Peut être réaliser ma propre fenêtre, mais je ne sais pas du tout comment faire ceci, pas forcément à l'aise avec le XML.

Merci encore et bonne journée !
Répondre