Differenze tra le versioni di "Convertire i formati audio mediante il Componente gb.media"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Utilizzando i plugin di ''GStreamer'' con le Classi ''MediaControl'' e MediaPipeline'' del Componente ''gb.media'', è possibile effettuare diverse conversioni di file audio d...")
 
Riga 1: Riga 1:
Utilizzando i plugin di ''GStreamer'' con le Classi ''MediaControl'' e MediaPipeline'' del Componente ''gb.media'', è possibile effettuare diverse conversioni di file audio da un formato ad un altro.
+
Utilizzando i plugin di ''GStreamer'' con le Classi ''MediaControl'' e ''MediaPipeline'' del Componente ''gb.media'', è possibile effettuare diverse conversioni di file audio da un formato ad un altro.
  
 
Mostriamo di seguito qualche esempio pratico.
 
Mostriamo di seguito qualche esempio pratico.
Riga 19: Riga 19:
 
   pl = New MediaPipeline  
 
   pl = New MediaPipeline  
 
    
 
    
   src = New MediaControl(pp, "filesrc")
+
   src = New MediaControl(pl, "filesrc")
 
   src["location"] = "<FONT Color=gray>''/percorso/del/file.wav''</font>"  <FONT Color=gray>' ''"location" è una proprietà del plugin "filesrc"''</font>
 
   src["location"] = "<FONT Color=gray>''/percorso/del/file.wav''</font>"  <FONT Color=gray>' ''"location" è una proprietà del plugin "filesrc"''</font>
 
    
 
    
   wprs = New MediaControl(pp, "<FONT Color=#B22222>wavparse</font>")
+
   wprs = New MediaControl(pl, "<FONT Color=#B22222>wavparse</font>")
   cnv = New MediaControl(pp, "<FONT Color=#B22222>audioconvert</font>")
+
   cnv = New MediaControl(pl, "<FONT Color=#B22222>audioconvert</font>")
   lam = New MediaControl(pp, "<FONT Color=#B22222>lamemp3enc</font>")
+
   lam = New MediaControl(pl, "<FONT Color=#B22222>lamemp3enc</font>")
   snk = New MediaControl(pp, "<FONT Color=#B22222>filesink</font>")
+
   snk = New MediaControl(pl, "<FONT Color=#B22222>filesink</font>")
 
   snk["location"] = "<FONT Color=gray>''/percorso/del/file.mp3''</font>"
 
   snk["location"] = "<FONT Color=gray>''/percorso/del/file.mp3''</font>"
 
    
 
    
Riga 62: Riga 62:
 
   pl = New MediaPipeline  
 
   pl = New MediaPipeline  
 
    
 
    
   src = New MediaControl(pp, "filesrc")
+
   src = New MediaControl(pl, "filesrc")
 
   src["location"] = "<FONT Color=gray>''/percorso/del/file.wav''</font>"  <FONT Color=gray>' ''"location" è una proprietà del plugin "filesrc"''</font>
 
   src["location"] = "<FONT Color=gray>''/percorso/del/file.wav''</font>"  <FONT Color=gray>' ''"location" è una proprietà del plugin "filesrc"''</font>
 
    
 
    
   wprs = New MediaControl(pp, "<FONT Color=#B22222>wavparse</font>")
+
   wprs = New MediaControl(pl, "<FONT Color=#B22222>wavparse</font>")
   cnv = New MediaControl(pp, "<FONT Color=#B22222>audioconvert</font>")
+
   cnv = New MediaControl(pl, "<FONT Color=#B22222>audioconvert</font>")
   vor = New MediaControl(pp, "<FONT Color=#B22222>vorbisenc</font>")
+
   vor = New MediaControl(pl, "<FONT Color=#B22222>vorbisenc</font>")
   mux = New MediaControl(pp, "<FONT Color=#B22222>oggmux</font>")
+
   mux = New MediaControl(pl, "<FONT Color=#B22222>oggmux</font>")
   snk = New MediaControl(pp, "<FONT Color=#B22222>filesink</font>")
+
   snk = New MediaControl(pl, "<FONT Color=#B22222>filesink</font>")
 
   snk["location"] = "<FONT Color=gray>''/percorso/del/file.mp3''</font>"
 
   snk["location"] = "<FONT Color=gray>''/percorso/del/file.mp3''</font>"
 
    
 
    

Versione delle 19:20, 28 set 2016

Utilizzando i plugin di GStreamer con le Classi MediaControl e MediaPipeline del Componente gb.media, è possibile effettuare diverse conversioni di file audio da un formato ad un altro.

Mostriamo di seguito qualche esempio pratico.


Conversione audio dal formato WAV al formato MP3

Library "libc:6"

' void exit (int __status)
' Terminate program execution with STATUS.
Private Extern exit_C(i As Integer) As Integer Exec "exit"


Public Sub Main()
 
 Dim pl As MediaPipeline
 Dim src, wprs, cnv, lam, snk As MediaControl
  
  pl = New MediaPipeline 
  
  src = New MediaControl(pl, "filesrc")
  src["location"] = "/percorso/del/file.wav"   ' "location" è una proprietà del plugin "filesrc"
  
  wprs = New MediaControl(pl, "wavparse")
  cnv = New MediaControl(pl, "audioconvert")
  lam = New MediaControl(pl, "lamemp3enc")
  snk = New MediaControl(pl, "filesink")
  snk["location"] = "/percorso/del/file.mp3"
  
  src.LinkTo(wprs)
  wprs.LinkTo(cnv)
  cnv.LinkTo(lam)
  lam.LinkTo(snk)
  
  pl.State = Media.Playing
  pl.Play()
  
  Sleep 1
  
  While pl.Duration > pl.Position
    Write #File.Out, "\rTempo: " & Date(0, 0, 0, 0, 0, 0, pl.Position * 1000)
  Wend
  
  exit_C(0)
  
End


Conversione audio dal formato WAV al formato OGG

Library "libc:6"

' void exit (int __status)
' Terminate program execution with STATUS.
Private Extern exit_C(i As Integer) As Integer Exec "exit"


Public Sub Main()
 
 Dim pl As MediaPipeline
 Dim src, wprs, cnv, vor, mux, snk As MediaControl
  
  pl = New MediaPipeline 
  
  src = New MediaControl(pl, "filesrc")
  src["location"] = "/percorso/del/file.wav"   ' "location" è una proprietà del plugin "filesrc"
  
  wprs = New MediaControl(pl, "wavparse")
  cnv = New MediaControl(pl, "audioconvert")
  vor = New MediaControl(pl, "vorbisenc")
  mux = New MediaControl(pl, "oggmux")
  snk = New MediaControl(pl, "filesink")
  snk["location"] = "/percorso/del/file.mp3"
  
  src.LinkTo(wprs)
  wprs.LinkTo(cnv)
  cnv.LinkTo(vor)
  vor.LinkTo(mux)
  mux.LinkTo(snk)
  
  pl.State = Media.Playing
  pl.Play()
  
  Sleep 1
  
  While pl.Duration > pl.Position
    Write #File.Out, "\rTempo: " & Date(0, 0, 0, 0, 0, 0, pl.Position * 1000)
  Wend
  
  exit_C(0)
  
End