Salvare in un file audio con il Componente gb.media soltanto l'audio di una web-TV

Da Gambas-it.org - Wikipedia.
Versione del 1 ago 2024 alle 19:37 di Vuott (Discussione | contributi) (Creata pagina con "Di seguito un esempio pratico per salvare con alcune risorse del Componente ''gb.media'' in un file audio WAV il <U>solo audio</u> da una web-TV: Private Const WEB_TV As Stri...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Di seguito un esempio pratico per salvare con alcune risorse del Componente gb.media in un file audio WAV il solo audio da una web-TV:

Private Const WEB_TV As String = "https://clubbingtv-rakuten.amagi.tv/playlist720_p.m3u8"
Private bo As Boolean


Public Sub Main()

 Dim pl As MediaPipeline
 Dim dcb, con, snk As MediaControl
 Dim abi1, acon, ares, asnk As MediaControl
 Dim abi2, fcon, wav, fsnk As MediaControl
 Dim tm As Date

 pl = New MediaPipeline

' Parte per la gestione video-grafica:
 dcb = New MediaControl(pl, "uridecodebin")
 dcb["uri"] = WEB_TV
 con = New MediaControl(pl, "videoconvert")
 snk = New MediaControl(pl, "autovideosink")

 dcb.LinkLaterTo(con)
 con.LinkTo(snk)

' Parte per la gestione dell'ascolto dell'audio:
 abi1 = New MediaControl(pl, "uridecodebin")
 abi1["uri"] = WEB_TV
 acon = New MediaControl(pl, "audioconvert")
 ares = New MediaControl(pl, "audioresample")
 asnk = New MediaControl(pl, "autoaudiosink")

 abi1.LinkLaterTo(acon)
 acon.LinkTo(ares)
 ares.LinkTo(asnk)

' Parte per la registrazione dell'audio in un file WAV:
 abi2 = New MediaControl(pl, "uridecodebin")
 abi2["uri"] = WEB_TV
 fcon = New MediaControl(pl, "audioconvert")
 wav = New MediaControl(pl, "wavenc")
 fsnk = New MediaControl(pl, "filesink")
 fsnk["location"] = "/tmp/audio.wav"

 abi2.LinkLaterTo(fcon)
 fcon.LinkTo(wav)
 wav.LinkTo(fsnk)

 pl.Play

 tm = Now

 While Not bo
   Write "\r\e[0mTemps écoulé: \e[31m" & Str(Time(0, 0, 0, DateDiff(tm, Now, gb.Millisecond)))
   Wait 0.01
 Wend

 pl.Stop
 pl.Close
 Quit

End


' Per terminare il programma e creare il file audio, cliccare nella console/terminale e successivamente premere il tasto "Invio" della tastiera.
Public Sub Application_Read()

 bo = True

End