Differenze tra le versioni di "Riproduzione dell'audio di radio WEB mediante il Componente gb.media"
Riga 101: | Riga 101: | ||
src["uri"] = "<FONT Color=gray>''http://indirizzo/web/del/flusso/radio/live''</font>" | src["uri"] = "<FONT Color=gray>''http://indirizzo/web/del/flusso/radio/live''</font>" | ||
+ | pl.Play() | ||
+ | |||
+ | Repeat | ||
+ | <FONT Color=gray>' ''Mostra in console il tempo trascorso dall'avvio del processo dei dati audio ricevuti:''</font> | ||
+ | Write "\rTempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000)) | ||
+ | Wait 0.001 | ||
+ | Until bo = True | ||
+ | |||
+ | pl.Stop | ||
+ | pl.Close | ||
+ | Quit | ||
+ | |||
+ | '''End''' | ||
+ | |||
+ | |||
+ | '''Public''' Sub Application_Read() | ||
+ | |||
+ | Dim s As String | ||
+ | |||
+ | Input s | ||
+ | |||
+ | bo = True | ||
+ | |||
+ | '''End''' | ||
+ | |||
+ | |||
+ | Quest'altro esempio prevede l'uso dei plug-in "''uridecodebin''". | ||
+ | <BR>asterà premere il tasto "Invio" per chiudere il programma. | ||
+ | Private bo As Boolean | ||
+ | |||
+ | |||
+ | '''Public''' Sub Main() | ||
+ | |||
+ | Dim pl As MediaPipeline | ||
+ | Dim src As MediaControl | ||
+ | |||
+ | pl = New MediaPipeline | ||
+ | |||
+ | src = New MediaControl(pl, "uridecodebin") | ||
+ | src["uri"] = "<FONT Color=gray>''http://indirizzo/web/del/flusso/radio/live''</font>" | ||
+ | snk = New MediaControl(pl, "autoaudiosink") | ||
+ | |||
+ | src.LinkLaterTo(snk) | ||
+ | |||
pl.Play() | pl.Play() | ||
Versione delle 19:21, 3 ago 2019
Le stazioni radio via WEB possono essere ascoltate in streaming anche utilizzando le risorse del Componente gb.media di Gambas.
Indice
Uso della Classe MediaPlayer
L'utilizzo della Classe MediaPlayer prevede l'uso del plug-in playbin.
Mostriamo un esempio pratico, nel quale basterà premere il tasto "Invio" per chiudere il programma.
Private bo As Boolean Public Sub Main() Dim mp As MediaPlayer With mp = New MediaPlayer .URL = "http://indirizzo/web/del/flusso/radio/live" .Play End With Repeat ' Mostra in console il tempo trascorso dall'avvio del processo dei dati audio ricevuti: Write "\rTempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Position * 1000)) Wait 0.001 Until bo = True mp.Stop mp.Close Quit End Public Sub Application_Read() Dim s As String Input s bo = True End
Uso della Classe MediaPipeline
L'utilizzo della Classe MediaPipeline prevede l'uso del plug-in "playbin".
Mostriamo un esempio pratico, nel quale basterà premere il tasto "Invio" per chiudere il programma.
Private bo As Boolean Public Sub Main() Dim pl As MediaPipeline pl = New MediaPipeline(Null, "playbin") pl["uri"] = "http://indirizzo/web/del/flusso/radio/live" pl.Play() Repeat ' Mostra in console il tempo trascorso dall'avvio del processo dei dati audio ricevuti: Write "\rTempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000)) Wait 0.001 Until bo = True pl.Stop pl.Close Quit End Public Sub Application_Read() Dim s As String Input s bo = True End
Uso delle Classi MediaPipeline e MediaControl
Si potrà fare uso anche delle Classi MediaPipeline e MediaControl.
L'esempio, che segue, prevede l'uso del plug-in "playbin".
asterà premere il tasto "Invio" per chiudere il programma.
Private bo As Boolean Public Sub Main() Dim pl As MediaPipeline Dim src As MediaControl pl = New MediaPipeline src = New MediaControl(pl, "playbin") src["uri"] = "http://indirizzo/web/del/flusso/radio/live" pl.Play() Repeat ' Mostra in console il tempo trascorso dall'avvio del processo dei dati audio ricevuti: Write "\rTempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000)) Wait 0.001 Until bo = True pl.Stop pl.Close Quit End Public Sub Application_Read() Dim s As String Input s bo = True End
Quest'altro esempio prevede l'uso dei plug-in "uridecodebin".
asterà premere il tasto "Invio" per chiudere il programma.
Private bo As Boolean Public Sub Main() Dim pl As MediaPipeline Dim src As MediaControl pl = New MediaPipeline src = New MediaControl(pl, "uridecodebin") src["uri"] = "http://indirizzo/web/del/flusso/radio/live" snk = New MediaControl(pl, "autoaudiosink") src.LinkLaterTo(snk) pl.Play() Repeat ' Mostra in console il tempo trascorso dall'avvio del processo dei dati audio ricevuti: Write "\rTempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000)) Wait 0.001 Until bo = True pl.Stop pl.Close Quit End Public Sub Application_Read() Dim s As String Input s bo = True End
Quest'altro esempio prevede l'uso dei plug-in "souphttpsrc" e "decodebin".
asterà premere il tasto "Invio" per chiudere il programma.
Private bo As Boolean Public Sub Main() Dim pl As MediaPipeline Dim src As MediaControl pl = New MediaPipeline src = New MediaControl(pl, "souphttpsrc") src["location"] = "http://indirizzo/web/del/flusso/radio/live" dcd = New MediaControl(pl, "decodebin") snk = New MediaControl(pl, "autoaudiosink") src.LinkTo(dcd) dcd.LinkLaterTo(snk) pl.Play() Repeat ' Mostra in console il tempo trascorso dall'avvio del processo dei dati audio ricevuti: Write "\rTempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000)) Wait 0.001 Until bo = True pl.Stop pl.Close Quit End Public Sub Application_Read() Dim s As String Input s bo = True End
Uso delle Classi MediaPlayer e MediaControl e del plug-in jackaudiosink
L'uso delle Classi MediaPlayer e MediaControl e del plug-in jackaudiosink richiede che sia preliminarmente avviato il programma server Jack.
Mostriamo un esempio questa volta in ambiente grafico:
Private bo As Boolean Public Sub Form_Open() Dim mp As MediaPlayer Dim usc As MediaControl Me.Show With mp = New MediaPlayer .URL = "http://indirizzo/web/del/flusso/radio/live" End With usc = New MediaControl(mp, "jackaudiosink") mp.Audio.Output = usc mp.Play() While bo = False ' Mostra in un "TextBox" il tempo trascorso dall'avvio del processo dei dati audio ricevuti: TextBox1.Text = CStr(Date(0, 0, 0, 0, 0, 0, mp.Position * 1000)) Wait 0.01 Wend mp.Stop mp.Close Me.Close End Public Sub Button1_Click() ' Premendo sul "Button" si chiuderà il programma bo = True End