Riproduzione dell'audio di radio WEB con l'oggetto WebView e con il codice HTML

Da Gambas-it.org - Wikipedia.

La riproduzione audio di radio che trasmettono in streaming su web può essere effettuata mediante l'uso dell'oggetto WevView, sia attivando il Componente gb.qt5.webview, sia attivando il Componente gb.gtk3.webview.

L'oggetto WebView, adeguatamente dimensionato, potrà essere utilizzato semplicemente assegnando il Tag <Audio> e l'indirizzo web del flusso audio della radio web al suo Metodo ".SetHtml()".

L'istruzione Html, più in particolare, potrà essere <AUDIO controls><source src=......>.

Public Sub Button1_Click()
 
 Dim wv As WebView
 
 With wv = New WebView(Me)
   .X = 0
   .Y = 20
   .W = 450
   .H = 150
   .SetHtml("<AUDIO controls><source src=https://indirizzo_web_del_flusso_audio_della_radio_web></audio>")
 End With
 
End

Di seguito un paio di esempi pratici della riga con l'indirizzo web:

.SetHtml("<AUDIO controls><source src=https://jzr-events-01.ice.infomaniak.ch/jzr-events-01.mp3></audio>")
.SetHtml("<AUDIO controls><source src=https://rdst.win:59450/stream></audio>")

L'istruzione potrà anche essere <AUDIO controls src=......> :

Public Sub Button1_Click()
 
 Dim wv As WebView
 
 With wv = New WebView(Me)
   .X = 0
   .Y = 20
   .W = 450
   .H = 150
   .SetHtml("<AUDIO controls style=width:100%; src=https://stream.laut.fm/radiojazz></audio>")
 End With
 
End

Specificare anche il formato dei dati audio ricevuti dalla radio web

Altresì, se conosciuto, si potrà eventualmente specificare anche il formato dei dati audio ricevuti dalla radio web:

.SetHtml("<AUDIO controls><source src=https://indirizzo_web_del_flusso_audio_della_radio_web type=audio/mp3></audio>)

Esempio pratico:

.SetHtml("<AUDIO controls><source src=https://icestreaming.rai.it/3.mp3 type=audio/mp3></audio>")

In quest'altro esempio si faranno apparire anche dei tasti sull'Oggetto WebView per gestire il flusso audio:

Public Sub Form_Open()

 Dim wv As WebView

 With wv = New WebView(Me)
   .X = 0
   .Y = 20
   .W = Me.W
   .H = 150
   .SetHtml("<audio id='player' src='https://giosa.radioca.st/stream'></audio>" &
            "<button onclick=document.getElementById('player').play()>Esegui</button>" &
            "<button onclick=document.getElementById('player').pause()>Pausa</button>" &
            "<button onclick=document.getElementById('player').remove()>Stop</button>" &
            "<button onclick=document.getElementById('player').volume+=0.1>Volume +</button>" &
            "<button onclick=document.getElementById('player').volume-=0.1>Volume -</button>")
 End With

End


Uso di un file html di supporto

E' possibile utilizzare, congiuntamente con l'oggetto WebView, anche un file Html, richiamato dal codice Gambas, e contenente il codice necessario per la riproduzione dei dati provenienti da una radio-web contattata.
Questa soluzione si mostra molto utile sovente quando non è possibile riprodurre il flusso di dati a causa di un particolare indirizzo WEB.

Il codice nel file Html di supporto sarà semplicemente il seguente:

<html>

<body>
   <AUDIO controls><source src="http://indirizzo_web_dello_streaming_radio"></audio>
</body>

</html>

Il file .html sarà richiamato dal seguente codice Gambas:

Public Sub Button1_Click()
 
 Dim wv As WebView
 
 With wv = New WebView(Me)
   .X = 0
   .Y = 20
   .W = 450
   .H = 150
   .SetHtml(File.Load("/percorso/del/file.html"))
 End With

End