Differenze tra le versioni di "Riproduzione dell'audio di radio WEB con l'oggetto WebView e con il codice HTML"

Da Gambas-it.org - Wikipedia.
Riga 9: Riga 9:
 
===Usando la libreria grafica QT===
 
===Usando la libreria grafica QT===
 
In tal caso si utilizzerà la Proprietà ".HTML" dell'Oggetto grafico ''WebView'':
 
In tal caso si utilizzerà la Proprietà ".HTML" dell'Oggetto grafico ''WebView'':
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
    
 
    
 
   Dim wv As WebView
 
   Dim wv As WebView
Riga 21: Riga 21:
 
   End With
 
   End With
 
    
 
    
  '''End'''
+
  End
 
Di seguito un paio di esempi pratici della riga con l'indirizzo web:
 
Di seguito un paio di esempi pratici della riga con l'indirizzo web:
 
  .HTML = "<AUDIO controls><source src=<FONT color=#B22222>''https&#058;//jzr-events-01.ice.infomaniak.ch/jzr-events-01.mp3''</font>></audio>"
 
  .HTML = "<AUDIO controls><source src=<FONT color=#B22222>''https&#058;//jzr-events-01.ice.infomaniak.ch/jzr-events-01.mp3''</font>></audio>"
Riga 27: Riga 27:
 
  .HTML = "<AUDIO controls><source src=<FONT color=#B22222>''https&#058;//rdst.win:59450/stream''</font>></audio>"
 
  .HTML = "<AUDIO controls><source src=<FONT color=#B22222>''https&#058;//rdst.win:59450/stream''</font>></audio>"
 
L'istruzione potrà anche essere ''<AUDIO controls src=......>'' :
 
L'istruzione potrà anche essere ''<AUDIO controls src=......>'' :
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
    
 
    
 
   Dim wv As WebView
 
   Dim wv As WebView
Riga 39: Riga 39:
 
   End With
 
   End With
 
    
 
    
  '''End'''
+
  End
 
====Specificare anche il formato dei dati audio ricevuti dalla radio web====
 
====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:
 
Altresì, se conosciuto, si potrà eventualmente specificare anche il formato dei dati audio ricevuti dalla radio web:
Riga 48: Riga 48:
 
===Usando il Componente ''gb.gui.webview'' oppure la libreria grafica GTK+3===
 
===Usando il Componente ''gb.gui.webview'' oppure la libreria grafica GTK+3===
 
In tal caso si utilizzerà il Metodo ".SetHtml()" dell'Oggetto grafico ''WebView'':
 
In tal caso si utilizzerà il Metodo ".SetHtml()" dell'Oggetto grafico ''WebView'':
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
    
 
    
 
   Dim wv As WebView
 
   Dim wv As WebView
Riga 60: Riga 60:
 
   End With
 
   End With
 
   
 
   
  '''End'''
+
  End
 
Anche con l'uso del Componente ''gb.gui.webview'' o della libreria grafica GTK+3 si potrà specificare il formato dei dati audio ricevuti dalla radio web utilizzando l'attributo "type" del protocollo HTML con le medesime modalità viste nel paragrafo precedente.
 
Anche con l'uso del Componente ''gb.gui.webview'' o della libreria grafica GTK+3 si potrà specificare il formato dei dati audio ricevuti dalla radio web utilizzando l'attributo "type" del protocollo HTML con le medesime modalità viste nel paragrafo precedente.
  
 
In quest'altro esempio, sempre usando il Componente ''gb.gui.webview'' oppure la libreria grafica GTK+3, si faranno apparire anche dei tasti sull'Oggetto ''WebView'' per gestire il file audio:
 
In quest'altro esempio, sempre usando il Componente ''gb.gui.webview'' oppure la libreria grafica GTK+3, si faranno apparire anche dei tasti sull'Oggetto ''WebView'' per gestire il file audio:
  '''Public''' Sub Button1_Click()
+
  Public Sub Form_Open()
 
   
 
   
  Dim wv As WebView
+
  Dim wv As WebView
 
   
 
   
  With wv = New WebView(Me)
+
  With wv = New WebView(Me)
    .X = 0
+
    .X = 0
    .Y = 20
+
    .Y = 20
    .W = Me.W
+
    .W = Me.W
    .H = 150
+
    .H = 150
    .SetHtml("<audio id='player' src='https&#058;//giosa.radioca.st/stream'></audio>" &
+
    .SetHtml("<audio id='player' src='https&#058;//giosa.radioca.st/stream'></audio>" &
              "<button onclick=document.getElementById('player').play()>Esegui</button>" &
+
            "<button onclick=document.getElementById('player').play()>Esegui</button>" &
              "<button onclick=document.getElementById('player').pause()>Pausa</button>" &
+
            "<button onclick=document.getElementById('player').pause()>Pausa</button>" &
              "<button onclick=document.getElementById('player').remove()>Stop</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>" &
              "<button onclick=document.getElementById('player').volume-=0.1>Volume -</button>")
+
            "<button onclick=document.getElementById('player').volume-=0.1>Volume -</button>")
  End With
+
  End With
 
   
 
   
  '''End'''
+
  End
  
  
Riga 97: Riga 97:
 
  &lt;/html>
 
  &lt;/html>
 
Il file .html sarà richiamato dal seguente codice Gambas (in questo esempio utilizzando le risorse della libreria grafica QT):
 
Il file .html sarà richiamato dal seguente codice Gambas (in questo esempio utilizzando le risorse della libreria grafica QT):
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
    
 
    
 
   Dim wv As WebView
 
   Dim wv As WebView
Riga 109: Riga 109:
 
   End With
 
   End With
 
   
 
   
  '''End'''
+
  End

Versione delle 17:22, 4 lug 2023

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.gui.qt.webkit o gb.qt5.webkit 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:

  • alla sua Proprietà ".HTML", se si utilizza il Componente gb.gui.qt.webkit o gb.qt5.webkit;
  • al suo Metodo ".SetHtml()", se si utilizza il Componente gb.gui.webview o gb.gtk3.webview.

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

Usando la libreria grafica QT

In tal caso si utilizzerà la Proprietà ".HTML" dell'Oggetto grafico WebView:

Public Sub Button1_Click()
 
 Dim wv As WebView
 
 With wv = New WebView(Me)
   .X = 0
   .Y = 20
   .W = 450
   .H = 150
   .HTML = "<AUDIO controls><source src=http://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:

.HTML = "<AUDIO controls><source src=https://jzr-events-01.ice.infomaniak.ch/jzr-events-01.mp3></audio>"
.HTML = "<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
   .HTML = "<AUDIO controls src=http://indirizzo_web_del_flusso_audio_della_radio_web></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:

.HTML = "<AUDIO controls><source src=http://indirizzo_web_del_flusso_audio_della_radio_web type=audio/mp3></audio>

Esempio pratico:

.HTML = "<AUDIO controls><source src=https://giosa.radioca.st/stream type=audio/mp3></audio>"

Usando il Componente gb.gui.webview oppure la libreria grafica GTK+3

In tal caso si utilizzerà il Metodo ".SetHtml()" dell'Oggetto grafico WebView:

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=http://indirizzo_web_del_flusso_audio_della_radio_web></audio>")
 End With

End

Anche con l'uso del Componente gb.gui.webview o della libreria grafica GTK+3 si potrà specificare il formato dei dati audio ricevuti dalla radio web utilizzando l'attributo "type" del protocollo HTML con le medesime modalità viste nel paragrafo precedente.

In quest'altro esempio, sempre usando il Componente gb.gui.webview oppure la libreria grafica GTK+3, si faranno apparire anche dei tasti sull'Oggetto WebView per gestire il file 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 (in questo esempio utilizzando le risorse della libreria grafica QT):

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

End