Differenze tra le versioni di "Convertire i formati audio mediante il Componente gb.media"
Da Gambas-it.org - Wikipedia.
Riga 2: | Riga 2: | ||
Mostriamo di seguito qualche esempio pratico. | Mostriamo di seguito qualche esempio pratico. | ||
− | |||
====Conversione audio dal formato WAV al formato MP3==== | ====Conversione audio dal formato WAV al formato MP3==== | ||
Riga 70: | Riga 69: | ||
mux = New MediaControl(pl, "<FONT Color=#B22222>oggmux</font>") | mux = New MediaControl(pl, "<FONT Color=#B22222>oggmux</font>") | ||
snk = New MediaControl(pl, "<FONT Color=#B22222>filesink</font>") | snk = New MediaControl(pl, "<FONT Color=#B22222>filesink</font>") | ||
− | snk["location"] = "<FONT Color=gray>''/percorso/del/file. | + | snk["location"] = "<FONT Color=gray>''/percorso/del/file.ogg''</font>" |
src.LinkTo(wprs) | src.LinkTo(wprs) | ||
wprs.LinkTo(cnv) | 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''' | ||
+ | |||
+ | |||
+ | ====Conversione audio dal formato MP3 al formato OGG==== | ||
+ | Library "libc:6" | ||
+ | |||
+ | <FONT Color=gray>' ''void exit (int __status)'' | ||
+ | ' ''Terminate program execution with STATUS.''</font> | ||
+ | Private Extern exit_C(i As Integer) As Integer Exec "exit" | ||
+ | |||
+ | |||
+ | '''Public''' Sub Main() | ||
+ | |||
+ | Dim pl As MediaPipeline | ||
+ | Dim src, mad, cnv, vor, mux, snk As MediaControl | ||
+ | |||
+ | pl = New MediaPipeline | ||
+ | |||
+ | src = New MediaControl(pl, "filesrc") | ||
+ | src["location"] = "<FONT Color=gray>''/percorso/del/file.mp3''</font>" <FONT Color=gray>' ''"location" è una proprietà del plugin "filesrc"''</font> | ||
+ | |||
+ | mad = New MediaControl(pl, "<FONT Color=#B22222>mad</font>") | ||
+ | cnv = New MediaControl(pl, "<FONT Color=#B22222>audioconvert</font>") | ||
+ | vor = New MediaControl(pl, "<FONT Color=#B22222>vorbisenc</font>") | ||
+ | mux = New MediaControl(pl, "<FONT Color=#B22222>oggmux</font>") | ||
+ | snk = New MediaControl(pl, "<FONT Color=#B22222>filesink</font>") | ||
+ | snk["location"] = "<FONT Color=gray>''/percorso/del/file.ogg''</font>" | ||
+ | |||
+ | src.LinkTo(mad) | ||
+ | mad.LinkTo(cnv) | ||
cnv.LinkTo(vor) | cnv.LinkTo(vor) | ||
vor.LinkTo(mux) | vor.LinkTo(mux) |
Versione delle 19:26, 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.ogg" 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
Conversione audio dal formato MP3 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, mad, cnv, vor, mux, snk As MediaControl pl = New MediaPipeline src = New MediaControl(pl, "filesrc") src["location"] = "/percorso/del/file.mp3" ' "location" è una proprietà del plugin "filesrc" mad = New MediaControl(pl, "mad") 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.ogg" src.LinkTo(mad) mad.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