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.
(Creata pagina con "Per visualizzare in apposita finestra, generata dalle risorse di ''Gstreamer'', un oscilloscopio od uno spettroscopio durante l'esecuzione di un file Midi mediante il Componen...") |
|||
Riga 15: | Riga 15: | ||
<FONT Color=gray>' ''Esegue il file Midi:''</font> | <FONT Color=gray>' ''Esegue il file Midi:''</font> | ||
mp.Play() | mp.Play() | ||
+ | |||
+ | <FONT Color=gray>' ''Utilizziamo la funzione "Input" per consentire l'esecuzione del file audio, evitando così un eccessivo'' | ||
+ | ' ''aggravio di lavoro per la CPU. Inoltre, premendo il tasto "Invio" viene interrotta l'esecuzione.''</font> | ||
+ | Input s | ||
+ | |||
+ | mmp.Stop() | ||
'''End''' | '''End''' |
Versione delle 16:03, 23 ott 2016
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:
Public Sub Main() Dim mp As New MediaPlayer mp.URL = Media.URL("/percorso/del/file.mid") AvviaPlugin(mp) ' Esegue il file Midi: mp.Play() ' Utilizziamo la funzione "Input" per consentire l'esecuzione del file audio, evitando così un eccessivo ' aggravio di lavoro per la CPU. Inoltre, premendo il tasto "Invio" viene interrotta l'esecuzione. Input s mmp.Stop() 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