Differenze tra le versioni di "Registrare il sonoro da una fonte esterna e salvarlo in un file audio mediante il Componente gb.media"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Il Componente ''gb.media'' consente mediante appositi plugin di ''GStreamer'' di registrare una fonte sonora esterna (ad esempio da un microfono) e salvare, quanto registrato,...")
 
Riga 8: Riga 8:
 
    
 
    
 
   Dim pl As MediaPipeline
 
   Dim pl As MediaPipeline
   Dim src, ode, vde, aco, snk As MediaControl
+
   Dim src, aco, ven, omu, snk As MediaControl
 
    
 
    
 
   pl = New MediaPipeline  
 
   pl = New MediaPipeline  
 
    
 
    
 
   src = New MediaControl(pl, "alsasrc")   
 
   src = New MediaControl(pl, "alsasrc")   
   ode = New MediaControl(pl, "audioconvert")
+
   aco = New MediaControl(pl, "audioconvert")
   vde = New MediaControl(pl, "vorbisenc")
+
   ven = New MediaControl(pl, "vorbisenc")
   aco = New MediaControl(pl, "oggmux")
+
   omu = New MediaControl(pl, "oggmux")
 
   snk = New MediaControl(pl, "filesink")
 
   snk = New MediaControl(pl, "filesink")
 
   snk["location"] = "<FONT Color=gray>''/percorso/del/file.ogg''</font>"
 
   snk["location"] = "<FONT Color=gray>''/percorso/del/file.ogg''</font>"
 
    
 
    
   src.LinkTo(ode)
+
   src.LinkTo(aco)
   ode.LinkTo(vde)
+
   aco.LinkTo(ven)
   vde.LinkTo(aco)
+
   ven.LinkTo(omu)
   aco.LinkTo(snk)
+
   omu.LinkTo(snk)
 
    
 
    
 
   pl.State = Media.Playing
 
   pl.State = Media.Playing

Versione delle 17:38, 1 ott 2016

Il Componente gb.media consente mediante appositi plugin di GStreamer di registrare una fonte sonora esterna (ad esempio da un microfono) e salvare, quanto registrato, in un file audio.

Mostriamo di seguito alcuni casi.


Salvare la registrazione in un file audio OGG

Public Sub Main()
 
 Dim pl As MediaPipeline
 Dim src, aco, ven, omu, snk As MediaControl
 
  pl = New MediaPipeline 
  
  src = New MediaControl(pl, "alsasrc")   
  aco = New MediaControl(pl, "audioconvert")
  ven = New MediaControl(pl, "vorbisenc")
  omu = New MediaControl(pl, "oggmux")
  snk = New MediaControl(pl, "filesink")
  snk["location"] = "/percorso/del/file.ogg"
  
  src.LinkTo(aco)
  aco.LinkTo(ven)
  ven.LinkTo(omu)
  omu.LinkTo(snk)
  
  pl.State = Media.Playing
  pl.Play()
  
  While pl.State = Media.Playing
    Write #File.Out, "\rTempo: " & Date(0, 0, 0, 0, 0, 0, pl.Position * 1000)
  Wend
  
End