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.
(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...")
 
Riga 5: Riga 5:
 
   Dim pl As MediaPipeline
 
   Dim pl As MediaPipeline
 
   Dim src, src2, wap, wap2, res, res2, con, con2, vol, vol2, pan, pan2, mix, snk As MediaControl
 
   Dim src, src2, wap, wap2, res, res2, con, con2, vol, vol2, pan, pan2, mix, snk As MediaControl
  Dim fileaudio As String
 
 
 
  fileaudio = "<FONT Color=gray>''/percorso/del/file.wav''</font>"
 
 
    
 
    
 
   pl = New MediaPipeline  
 
   pl = New MediaPipeline  
Riga 13: Riga 10:
 
  <FONT Color=gray>' ''Primo file audio wav:''</font>
 
  <FONT Color=gray>' ''Primo file audio wav:''</font>
 
   src = New MediaControl(pl, "filesrc")
 
   src = New MediaControl(pl, "filesrc")
   src["location"] = fileaudio
+
   src["location"] = "<FONT Color=gray>''/percorso/del/primo/file.wav''</font>"
 
   wap = New MediaControl(pl, "wavparse")
 
   wap = New MediaControl(pl, "wavparse")
 
   res = New MediaControl(pl, "audioresample")
 
   res = New MediaControl(pl, "audioresample")
Riga 24: Riga 21:
 
  <FONT Color=gray>' ''Secondo file audio wav:''</font>
 
  <FONT Color=gray>' ''Secondo file audio wav:''</font>
 
   src2 = New MediaControl(pl, "filesrc")  
 
   src2 = New MediaControl(pl, "filesrc")  
   src2["location"] = "/tmp/la.wav"
+
   src2["location"] = "<FONT Color=gray>''/percorso/del/secondo/file.wav''</font>"
 
   wap2 = New MediaControl(pl, "wavparse")
 
   wap2 = New MediaControl(pl, "wavparse")
 
   res2 = New MediaControl(pl, "audioresample")
 
   res2 = New MediaControl(pl, "audioresample")

Versione delle 15:43, 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 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