Differenze tra le versioni di "Visualizzare un oscilloscopio od uno spettroscopio durante l'esecuzione di un file Midi mediante il Componente gb.media"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
Per visualizzare in apposita finestra, generata dalle risorse di ''Gstreamer'', un oscilloscopio od uno spettroscopio durante l'esecuzione di un file Midi mediante il Componente ''gb.media'', è necessario utilizzare gli appositi ''plugin'' forniti da ''GStreamer'' attraverso la Classe ''MediaControl''. | Per visualizzare in apposita finestra, generata dalle risorse di ''Gstreamer'', un oscilloscopio od uno spettroscopio durante l'esecuzione di un file Midi mediante il Componente ''gb.media'', è necessario utilizzare gli appositi ''plugin'' forniti da ''GStreamer'' attraverso la Classe ''MediaControl''. | ||
− | Si imposterà il plugin "''monoscope''" o il plugin "''wavescope''" per ottenere la visualizzazione di un oscilloscopio. Si utilizzerà il plugin "''spectrascope''", per ottenere la visualizzazione di uno spettroscopio. | + | Si imposterà il plugin "''monoscope'' " o il plugin "''wavescope'' " per ottenere la visualizzazione di un oscilloscopio. Si utilizzerà il plugin "''spectrascope'' ", per ottenere la visualizzazione di uno spettroscopio. |
− | |||
Mostriamo un semplice esempio pratico: | Mostriamo un semplice esempio pratico: | ||
+ | Private bo As Boolean | ||
+ | |||
+ | |||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
− | Dim mp As | + | Dim mp As MediaPlayer |
− | + | ||
− | + | With mp = New MediaPlayer As "MediaPlayer1" | |
− | + | .URL = Media.URL("<FONT Color=gray>''/percorso/del/file.mid''</font>") | |
+ | <FONT Color=gray>' ''Attiva il Plugin grafico:''</font> | ||
+ | AvviaPlugin(mp) | ||
+ | .Play() | ||
+ | Print "Durata del file Midi: \e[34m"; Str(Time(0, 0, 0, .Duration * 1000)) | ||
+ | Repeat | ||
+ | Write "\r\e[0mTempo trascorso: \e[1m\e[31m" & Str(Time(0, 0, 0, .Position * 1000)) | ||
+ | Wait 0.01 | ||
+ | Until bo | ||
+ | .Stop | ||
+ | .Close | ||
− | + | Write "\n\e[0mEsecuzione terminata !" | |
− | + | <FONT Color=gray>' ''Avendo utilizzato l'Evento "Application_Read()", è necessario invocare l'istruzione "Quit" per terminare il programma:''</font> | |
− | <FONT Color=gray>' '' | + | Quit |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''End''' | '''End''' | ||
+ | '''Private''' Procedure AvviaPlugin(medpl As MediaPlayer) | ||
− | |||
− | |||
Dim plugVis As MediaControl | Dim plugVis As MediaControl | ||
Dim b As Byte | Dim b As Byte | ||
Dim tipoPlug As String[] = ["monoscope", "spectrascope", "wavescope"] | Dim tipoPlug As String[] = ["monoscope", "spectrascope", "wavescope"] | ||
Dim arrplugin As MediaControl[] | Dim arrplugin As MediaControl[] | ||
− | + | ||
<FONT Color=gray>' ''Un array di variabili di tipo "MediaControl", ossia di vari PlugIn disponibili:''</font> | <FONT Color=gray>' ''Un array di variabili di tipo "MediaControl", ossia di vari PlugIn disponibili:''</font> | ||
− | + | arrplugin = New MediaControl[] | |
− | + | For b = 0 To tipoPlug.Max | |
− | + | plugVis = New MediaControl(medpl, tipoPlug[b]) | |
− | + | arrplugin.Push(plugVis) | |
− | + | Next | |
− | + | ||
<FONT Color=gray>' ''Imposta il plug-in da utilizzare fra quelli contenuti dal vettore "arrplugin":''</font> | <FONT Color=gray>' ''Imposta il plug-in da utilizzare fra quelli contenuti dal vettore "arrplugin":''</font> | ||
− | + | medpl.Video.Visualisation = arrplugin[2] | |
− | + | ||
'''End''' | '''End''' |
Versione delle 16:57, 17 set 2022
Per visualizzare in apposita finestra, generata dalle risorse di Gstreamer, un oscilloscopio od uno spettroscopio durante l'esecuzione di un file Midi mediante il Componente gb.media, è necessario utilizzare gli appositi plugin forniti da GStreamer attraverso la Classe MediaControl.
Si imposterà il plugin "monoscope " o il plugin "wavescope " per ottenere la visualizzazione di un oscilloscopio. Si utilizzerà il plugin "spectrascope ", per ottenere la visualizzazione di uno spettroscopio.
Mostriamo un semplice esempio pratico:
Private bo As Boolean Public Sub Main() Dim mp As MediaPlayer With mp = New MediaPlayer As "MediaPlayer1" .URL = Media.URL("/percorso/del/file.mid") ' Attiva il Plugin grafico: AvviaPlugin(mp) .Play() Print "Durata del file Midi: \e[34m"; Str(Time(0, 0, 0, .Duration * 1000)) Repeat Write "\r\e[0mTempo trascorso: \e[1m\e[31m" & Str(Time(0, 0, 0, .Position * 1000)) Wait 0.01 Until bo .Stop .Close Write "\n\e[0mEsecuzione terminata !" ' Avendo utilizzato l'Evento "Application_Read()", è necessario invocare l'istruzione "Quit" per terminare il programma: Quit End Private Procedure AvviaPlugin(medpl As MediaPlayer) Dim plugVis As MediaControl Dim b As Byte Dim tipoPlug As String[] = ["monoscope", "spectrascope", "wavescope"] Dim arrplugin As MediaControl[] ' Un array di variabili di tipo "MediaControl", ossia di vari PlugIn disponibili: arrplugin = New MediaControl[] For b = 0 To tipoPlug.Max plugVis = New MediaControl(medpl, tipoPlug[b]) arrplugin.Push(plugVis) Next ' Imposta il plug-in da utilizzare fra quelli contenuti dal vettore "arrplugin": medpl.Video.Visualisation = arrplugin[2] End