SpiderBasic and netradio url.

Just starting out? Need help? Post your questions and find answers here.
hub73
Posts: 3
Joined: Mon Feb 27, 2023 5:04 pm

SpiderBasic and netradio url.

Post by hub73 »

Hello !
Is there a way to create with spiderbasic an web and android application to listen our netradio ?

We use icecast2.

Link : https://www.lesfloralies.ovh/floralies.ogg
or
https://www.lesfloralies.ovh/floralies.mp3

Our site http://www.lesfloralies.info to listen the french netradio.

Many Thanks.
User avatar
Peter
Posts: 1086
Joined: Mon Feb 24, 2014 10:17 pm
Location: 127.0.0.1:9080
Contact:

Re: SpiderBasic and netradio url.

Post by Peter »

something like this?

Code: Select all

Enumeration
  #Window
  #Container
EndEnumeration

Procedure AddPlayer(Gadget)
  
  Protected GID = GadgetID(Gadget)
  
  Protected HTML.s = "<video controls='' autoplay='' name='media' style='height:50px;width:100%'>" + 
                     "<source src='https://www.lesfloralies.ovh/floralies.ogg' type='application/ogg'>" + 
                     "</video>"
  
  ! $(v_gid.div).append(v_html);
  
EndProcedure

OpenWindow(#Window, 0, 0, 400, 80, "Player", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ContainerGadget(#Container, 10, 10, WindowWidth(#Window) - 20, WindowHeight(#Window) - 20, #PB_Container_Raised) : CloseGadgetList()
AddPlayer(#Container)
hub73
Posts: 3
Joined: Mon Feb 27, 2023 5:04 pm

Re: SpiderBasic and netradio url.

Post by hub73 »

Nice idea. Could i use also <AUDIO> control (as used inside my website code) ?

Code: Select all

	function AfficherBoutonJouerPause()
	{

        $donnees = "<div class='inner-div'>" ."\n";

		$donnees .= "<script>" ."\n";

		$donnees .= "

		function playPause() {
		  const audio = document.getElementById('monAudio');
		  if (audio.paused) {
		    audio.play();
		    MonImagePlaypause.src = 'https://www.lesfloralies.info/programme/bouton_pause.png';
		  } else {
		    audio.pause();
		    //changer image tonImagePlaypause en 'play'
		    MonImagePlaypause.src = 'https://www.lesfloralies.info/programme/bouton_play.png';
		  }
		}
		MonImagePlaypause.addEventListener('click', playPause);

	  ";

		$donnees .= "</script>" ."\n";

		$donnees .= "<p align='center'>" ."\n";

        if (!is_mobile())
        {
    		$donnees .= "<img src='https://www.lesfloralies.info/programme/bouton_play.png' id='MonImagePlaypause' onclick='playPause();'/>" ."\n";
        }
        else
        {
	    	$donnees .= "<img src='https://www.lesfloralies.info/programme/bouton_play.png' width='400' id='MonImagePlaypause' onclick='playPause();'/>" ."\n";
        }
        $donnees .= "</p>";

   	$donnees .= "<div id='webradio_encours'></div>" ."\n";

		$donnees .= "<div class='audioplayer'>" ."\n";
		$donnees .= "<p align='center'>" ."\n";

		$donnees .= "<audio id='monAudio' controls='controls' preload='metadata' hidden=''>" ."\n";

        	$donnees .= "<source src='https://www.lesfloralies.ovh/floralies.ogg' type='audio/ogg'>" ."\n";
        	$donnees .= "<source src='https://www.lesfloralies.ovh/floralies.mp3' type='audio/mpeg'>" ."\n";

		$donnees .= "</audio>" ."\n";
		$donnees .= "</p>" ."\n";
		$donnees .= "</div>" ."\n";

		$donnees .= "</div>" ."\n";

		$donnees = utf8_encode ($donnees);
		echo $donnees;

	}
User avatar
Peter
Posts: 1086
Joined: Mon Feb 24, 2014 10:17 pm
Location: 127.0.0.1:9080
Contact:

Re: SpiderBasic and netradio url.

Post by Peter »

Code: Select all

Enumeration
  #Window
  #ImageGadget
  #PlayButton
  #PauseButton
EndEnumeration

Procedure ImageGadgetEvent()
  
  SetGadgetState(#ImageGadget, 0)

  ! const audio = $('#monAudio')[0];
  ! if (audio.paused) {
  !   audio.play();
      SetGadgetState(#ImageGadget, ImageID(#PauseButton))
  ! } else {
  !   audio.pause();
      SetGadgetState(#ImageGadget, ImageID(#PlayButton))
  ! }  
  
EndProcedure


Procedure Main()
  
  OpenWindow(#Window, 0, 0, 520, 191, "Player", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  ImageGadget(#ImageGadget, 10, 10, 500, 171, ImageID(#PlayButton))
  
  BindGadgetEvent(#ImageGadget, @ImageGadgetEvent())
  
  Protected HTML.s = "<audio controls='' autoplay='' id='monAudio' hidden='true'>" + 
                     "<source src='https://www.lesfloralies.ovh/floralies.ogg' type='application/ogg'>" + 
                     "</audio>"
  
  ! $('body').append(v_html);
  
EndProcedure

Procedure Loaded(Type, Filename$, ObjectId)
  
  Static NbLoadedElements
  
  NbLoadedElements + 1
  
  If NbLoadedElements = 2 ; Finished the loading of all images, we can start the applications
    Main()
  EndIf
  
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, @Loaded())
BindEvent(#PB_Event_LoadingError, @LoadingError())

LoadImage(#PlayButton,  "https://www.lesfloralies.info/programme/bouton_play.png")
LoadImage(#PauseButton, "https://www.lesfloralies.info/programme/bouton_pause.png")
hub73
Posts: 3
Joined: Mon Feb 27, 2023 5:04 pm

Re: SpiderBasic and netradio url.

Post by hub73 »

Perfect ! Many thanks !
User avatar
Peter
Posts: 1086
Joined: Mon Feb 24, 2014 10:17 pm
Location: 127.0.0.1:9080
Contact:

Re: SpiderBasic and netradio url.

Post by Peter »

hub73 wrote: Mon Feb 27, 2023 7:02 pm Perfect ! Many thanks !
Thanks for the coffee! Image
falsam
Posts: 280
Joined: Mon May 05, 2014 9:49 pm
Location: France
Contact:

Re: SpiderBasic and netradio url.

Post by falsam »

Great job Peter :geek:

➽ Windows 11 - JDK 1.8 - SB 2.40 - Android 13
http://falsam.com

Sorry for my poor english
User avatar
Peter
Posts: 1086
Joined: Mon Feb 24, 2014 10:17 pm
Location: 127.0.0.1:9080
Contact:

Re: SpiderBasic and netradio url.

Post by Peter »

Hey falsam. Welcome back! :)
Post Reply