Estrarre una traccia di un CD audio convertendola in un file MP3 con il Componente gb.media
Da Gambas-it.org - Wikipedia.
Versione del 30 giu 2017 alle 16:14 di Vuott (Discussione | contributi)
Per estrarre una traccia di un CD audio e convertirla conseguentemente in un file MP3 mediante il Componente gb.media, è possibile utilizzare il plugin "cdiocddasrc" di GStreamer.
Mostriamo un semplice esempio pratico:
Private Enum quality = 0, bitrate Public Sub Main() Dim pl As MediaPipeline Dim src, cnv, enc, mux, snk As MediaControl pl = New MediaPipeline src = New MediaControl(pl, "cdiocddasrc") src["track"] = 10 cnv = New MediaControl(pl, "audioconvert") enc = New MediaControl(pl, "lamemp3enc") enc["target"] = bitrate enc["bitrate"] = 192 mux = New MediaControl(pl, "mpegpsmux") snk = New MediaControl(pl, "filesink") snk["location"] = "/tmp/audio.mp3" src.LinkTo(cnv) cnv.LinkTo(enc) enc.LinkTo(mux) mux.LinkTo(snk) ' Avvia la procedura di estrazione dei dati audio della traccia e della successiva conversione nel file MP3: 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:
Private Enum quality = 0, bitrate Public Sub Main() Dim pl As MediaPipeline Dim src, cnv, enc, mux, snk As MediaControl pl = New MediaPipeline src = New MediaControl(pl, "cdparanoiasrc") src["track"] = 10 cnv = New MediaControl(pl, "audioconvert") enc = New MediaControl(pl, "lamemp3enc") enc["target"] = bitrate enc["bitrate"] = 192 mux = New MediaControl(pl, "mpegpsmux") snk = New MediaControl(pl, "filesink") snk["location"] = "/tmp/audio.mp3" src.LinkTo(cnv) cnv.LinkTo(enc) enc.LinkTo(mux) mux.LinkTo(snk) ' Avvia la procedura di estrazione dei dati audio della traccia e della successiva conversione nel file MP3: 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