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

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 2: Riga 2:


Mostriamo di seguito alcuni casi.
Mostriamo di seguito alcuni casi.
===Salvare la registrazione in un file audio WAV===
'''Public''' Sub Main()
 
  Dim pl As MediaPipeline
  Dim src, aco, wen, snk As MediaControl
 
  pl = New MediaPipeline
 
  src = New MediaControl(pl, "alsasrc") 
  aco = New MediaControl(pl, "audioconvert")
  wen = New MediaControl(pl, "wavenc")
  snk = New MediaControl(pl, "filesink")
  snk["location"] = "<FONT Color=gray>''/percorso/del/file.wav''</font>"
 
  src.LinkTo(aco)
  aco.LinkTo(wen)
  wen.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'''





Versione delle 17:41, 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 WAV

Public Sub Main()
 
 Dim pl As MediaPipeline
 Dim src, aco, wen, snk As MediaControl
 
  pl = New MediaPipeline 
  
  src = New MediaControl(pl, "alsasrc")   
  aco = New MediaControl(pl, "audioconvert")
  wen = New MediaControl(pl, "wavenc")
  snk = New MediaControl(pl, "filesink")
  snk["location"] = "/percorso/del/file.wav"
  
  src.LinkTo(aco)
  aco.LinkTo(wen)
  wen.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


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