Estrarre una traccia di un CD audio convertendola in un file WAV con il Componente gb.media

Da Gambas-it.org - Wikipedia.
Versione del 30 giu 2017 alle 16:12 di Vuott (Discussione | contributi) (Creata pagina con "Per estrarre una traccia di un CD audio e convertirla conseguentemente in un file WAV mediante il Componente ''gb.media'', è possibile utilizzare il plugin "''cdiocddasrc''"...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Per estrarre una traccia di un CD audio e convertirla conseguentemente in un file WAV mediante il Componente gb.media, è possibile utilizzare il plugin "cdiocddasrc" di GStreamer.

Mostriamo un semplice esempio pratico:

Public Sub Main()
 
 Dim pl As MediaPipeline
 Dim src, cnv, enc, snk As MediaControl
 
  pl = New MediaPipeline
 
  src = New MediaControl(pl, "cdiocddasrc")
  src["track"] = 10
  cnv = New MediaControl(pl, "audioconvert")
  enc = New MediaControl(pl, "wavenc")
  snk = New MediaControl(pl, "filesink")
  snk["location"] = "/tmp/audio.wav"
  
  src.LinkTo(cnv)
  cnv.LinkTo(enc)
  enc.LinkTo(snk)
     
' Avvia la procedura di estrazione dei dati audio della traccia e della successiva conversione nel file WAV:
  pl.Play()
 
  Do
' Mostra in console la posizione, espressa in secondi, all'interno dei dati audio processati:
    Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Duration * 1000)) & "   -   Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000))
    Wait 0.01
  Loop Until (pl.Position >= pl.Duration)
 
  pl.Stop()
  pl.Close()
  
End


Analogamente possiamo utilizzare anche il plugin "cdparanoiasrc" di GStreamer.

Mostriamo un semplice esempio pratico:

Public Sub Main()
 
 Dim pl As MediaPipeline
 Dim src, cnv, enc, snk As MediaControl
 
  pl = New MediaPipeline
 
  src = New MediaControl(pl, "cdparanoiasrc")
  src["track"] = 10
  cnv = New MediaControl(pl, "audioconvert")
  enc = New MediaControl(pl, "wavenc")
  snk = New MediaControl(pl, "filesink")
  snk["location"] = "/tmp/audio.wav"
  
  src.LinkTo(cnv)
  cnv.LinkTo(enc)
  enc.LinkTo(snk)
     
' Avvia la procedura di estrazione dei dati audio della traccia e della successiva conversione nel file WAV:
  pl.Play()
 
  Do
' Mostra in console la posizione, espressa in secondi, all'interno dei dati audio processati:
    Write #File.Out, "\rDurata del brano: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Duration * 1000)) & "   -   Tempo trascorso: " & CStr(Date(0, 0, 0, 0, 0, 0, pl.Position * 1000))
    Wait 0.01
  Loop
 
  pl.Stop()
  pl.Close()
  
End