Differenze tra le versioni di "Eseguire due o più file audio contemporaneamente mediante la Classe ''MediaPipeline'' del componente gb.media"
Da Gambas-it.org - Wikipedia.
Riga 28: | Riga 28: | ||
vol2["volume"] = 0.2 | vol2["volume"] = 0.2 | ||
pan2 = New MediaControl(pl, "audiopanorama") | pan2 = New MediaControl(pl, "audiopanorama") | ||
− | pan2["panorama"] = -1.00 | + | pan2["panorama"] = -1.00 <FONT Color=gray>' ''Pan a sinistra''</font> |
mix = New MediaControl(pl, "audiomixer") | mix = New MediaControl(pl, "audiomixer") |
Versione delle 15:44, 12 ago 2018
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 pl = New MediaPipeline ' Primo file audio wav: src = New MediaControl(pl, "filesrc") src["location"] = "/percorso/del/primo/file.wav" 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"] = "/percorso/del/secondo/file.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 sinistra 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