Registrare il sonoro da una fonte esterna e salvarlo in un file audio mediante il Componente gb.media: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| Riga 22: | Riga 22: | ||
wen.LinkTo(snk) | wen.LinkTo(snk) | ||
pl.Play() | pl.Play() | ||
| Riga 52: | Riga 51: | ||
wen.LinkTo(snk) | wen.LinkTo(snk) | ||
pl.Play() | pl.Play() | ||
| Riga 80: | Riga 78: | ||
len.LinkTo(snk) | len.LinkTo(snk) | ||
pl.Play() | pl.Play() | ||
| Riga 110: | Riga 107: | ||
omu.LinkTo(snk) | omu.LinkTo(snk) | ||
pl.Play() | pl.Play() | ||
Versione delle 20:56, 7 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 (44100 hertz, mono, 16-bit)
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.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 WAV (44100 hertz, stereo, 16-bit)
Public Sub Main()
Dim pl As MediaPipeline
Dim src, aco, aud, wen, snk As MediaControl
pl = New MediaPipeline
src = New MediaControl(pl, "alsasrc")
aco = New MediaControl(pl, "audioconvert")
aud = New MediaControl(pl, "audio/x-raw,rate=44100,depth=16,channels=2,width=16,signed=true")
wen = New MediaControl(pl, "wavenc")
snk = New MediaControl(pl, "filesink")
snk["location"] = "/percorso/del/file.wav"
src.LinkTo(aco)
aco.LinkTo(aud)
aud.LinkTo(wen)
wen.LinkTo(snk)
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 MP3
Public Sub Main()
Dim pl As MediaPipeline
Dim src, aco, len, snk As MediaControl
pl = New MediaPipeline
src = New MediaControl(pl, "alsasrc")
aco = New MediaControl(pl, "audioconvert")
len = New MediaControl(pl, "lamemp3enc")
snk = New MediaControl(pl, "filesink")
snk["location"] = "/percorso/del/file.wav"
src.LinkTo(aco)
aco.LinkTo(len)
len.LinkTo(snk)
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.Play()
While pl.State = Media.Playing
Write #File.Out, "\rTempo: " & Date(0, 0, 0, 0, 0, 0, pl.Position * 1000)
Wend
End