Differenze tra le versioni di "Modificare ad un file WAV la frequenza di campionamento, il numero di canali e la risoluzione bit mediante il componente gb.media"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "Mostriamo di seguito un esempio in cui con le risorse delle Classi "''MediaPipeline''", "''MediaControl''" e "''Mediafilter''" si procede alla modifica della frequenza di camp...") |
|||
Riga 18: | Riga 18: | ||
res = New MediaControl(pl, "audioresample") | res = New MediaControl(pl, "audioresample") | ||
con1 = New MediaControl(pl, "audioconvert") | con1 = New MediaControl(pl, "audioconvert") | ||
− | flt = New MediaFilter(pl, "<FONT Color=#B22222>audio/x-raw,rate= | + | flt = New MediaFilter(pl, "<FONT Color=#B22222>audio/x-raw,rate=8000,channels=1,format=S8</font>") |
con2 = New MediaControl(pl, "audioconvert") | con2 = New MediaControl(pl, "audioconvert") | ||
enc = New MediaControl(pl, "wavenc") | enc = New MediaControl(pl, "wavenc") |
Versione delle 19:32, 14 ago 2017
Mostriamo di seguito un esempio in cui con le risorse delle Classi "MediaPipeline", "MediaControl" e "Mediafilter" si procede alla modifica della frequenza di campionamento, del numero di canali e della risoluzione in bit di un file audio di formato WAV.
In particolare nell'esempio che segue un file WAV di hz 44100, 2 canali, 16 bit viene trasformato in un file audio WAV di hz 8000, 1 canale, 8 bit.
Public Sub Main() Dim pl As MediaPipeline Dim src, par, res, con1, con2, enc, snk As MediaControl Dim flt As MediaFilter Dim primofile As String primofile = "/tmp/primofile" pl = New MediaPipeline src = New MediaControl(pl, "filesrc") src["location"] = "/percorso/del/file.wav" par = New MediaControl(pl, "wavparse") res = New MediaControl(pl, "audioresample") con1 = New MediaControl(pl, "audioconvert") flt = New MediaFilter(pl, "audio/x-raw,rate=8000,channels=1,format=S8") con2 = New MediaControl(pl, "audioconvert") enc = New MediaControl(pl, "wavenc") snk = New MediaControl(pl, "filesink") snk["location"] = primofile src.LinkTo(par) par.LinkTo(res) res.LinkTo(con1) con1.LinkTo(flt) flt.LinkTo(con2) con2.LinkTo(enc) enc.LinkTo(snk) pl.Play() Write "Attendere: conversione in atto..." Sleep pl.Duration pl.Stop() pl.Close() Copy primofile To "/tmp/nuovo_audio.wav" Write "\rConversione terminata " End