Eseguire due o più file audio contemporaneamente mediante la Classe ''MediaPipeline'' del componente gb.media
Da Gambas-it.org - Wikipedia.
Versione del 12 ago 2018 alle 15:42 di Vuott (Discussione | contributi) (Creata pagina con "Mostriamo di seguito un esempio pratico per eseguire contemporaneamente due file audio (in questo caso di formato WAV) mediante la Classe ''MediaPipeline'' del Componente ''gb...")
Mostriamo di seguito un esempio pratico per eseguire contemporaneamente due file audio (in questo caso di formato WAV) mediante la Classe MediaPipeline del Componente gb.media:
Public Sub Main() Dim pl As MediaPipeline Dim src, src2, wap, wap2, res, res2, con, con2, vol, vol2, pan, pan2, mix, snk As MediaControl Dim fileaudio As String fileaudio = "/percorso/del/file.wav" pl = New MediaPipeline ' Primo file audio wav: src = New MediaControl(pl, "filesrc") src["location"] = fileaudio wap = New MediaControl(pl, "wavparse") res = New MediaControl(pl, "audioresample") con = New MediaControl(pl, "audioconvert") vol = New MediaControl(pl, "volume") vol["volume"] = 0.8 pan = New MediaControl(pl, "audiopanorama") pan["panorama"] = 1.00 ' Pan a destra ' Secondo file audio wav: src2 = New MediaControl(pl, "filesrc") src2["location"] = "/tmp/la.wav" wap2 = New MediaControl(pl, "wavparse") res2 = New MediaControl(pl, "audioresample") con2 = New MediaControl(pl, "audioconvert") vol2 = New MediaControl(pl, "volume") vol2["volume"] = 0.2 pan2 = New MediaControl(pl, "audiopanorama") pan2["panorama"] = -1.00 pan a destra mix = New MediaControl(pl, "audiomixer") snk = New MediaControl(pl, "alsasink") src.LinkTo(wap) wap.LinkTo(res) res.LinkTo(con) con.LinkTo(vol) vol.LinkTo(pan) pan.LinkTo(mix) ' La prima sorgente audio alla fine converge nel mixer audio: src2.LinkTo(wap2) wap2.LinkTo(res2) res2.LinkTo(con2) con2.LinkTo(vol2) vol2.LinkTo(pan2) pan2.LinkTo(mix) ' La seconda sorgente audio alla fine converge nel mixer audio: mix.LinkTo(snk) pl.Play() Do Wait 0.01 Loop End