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 17: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