Page 1 sur 1

Appli de lecture de la webradio RLF2

Publié : mer. 11/oct./2023 16:06
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")  

  

Re: Appli de lecture de la webradio RLF2

Publié : dim. 15/oct./2023 17:01
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.

Re: Appli de lecture de la webradio RLF2

Publié : dim. 15/oct./2023 19:33
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

Re: Appli de lecture de la webradio RLF2

Publié : mar. 17/oct./2023 9:46
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 !