Differenze tra le versioni di "Eseguire un file MIDI mediante l'oggetto MediaView del componente gb.media.form"

Da Gambas-it.org - Wikipedia.
 
(7 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
Il componente ''gb.media.form'' (da attivare congiuntamente con il componente ''gb.media'') fornisce l'oggetto ''MediaView'' che consente di eseguire agevolmente un file Midi.
+
Il Componente ''gb.media.form'' (da attivare congiuntamente con il Componente ''gb.media'') fornisce la Classe ''MediaView'', che consente di eseguire agevolmente un file Midi.
  
Come gli altri oggetti esso può essere posto sul ''Form'' dalla scheda ''Media'' nell'area dedicata agli oggetti nell'IDE di Gambas, oppure creato da codice. Esso sarà visibile sul ''Form'' alle coordinate e con le dimensioni prescelte.
+
Per analogia di argomento si rinvia alla seguente pagina:
 
+
<BR>[[Eseguire un file audio mediante l'oggetto MediaView del componente gb.media.form]]
Il file Midi potrà essere caricato mediante la proprietà ''.URL'' dell'oggetto ''MediaView'', e successivamente essere eseguito, posto in pausa e fermato agendo manualmente con il puntatore del mouse sui tasti virtuali che riproducono quelli consueti di un riproduttore audio.
 
 
 
Mostriamo un semplicissimo esempio pratico, nel quale si presupporrà che l'oggetto ''MediaView'' sia stato posto sul ''Form'' dall'IDE di Gambas:
 
'''Public''' Sub Form_Open()
 
 
 
  With MediaView1
 
    .URL = "<FONT Color=gray>''/percorso/del/file.mid''</font>"   
 
  End With
 
 
'''End'''
 
 
 
 
 
 
 
==Incorporare un ''Button'' nell'oggetto ''MediaView'' per consentire l'uso di una finestra di Dialogo==
 
L'oggetto ''MediaView'' è composto, in vero, di vari oggetti, fra i quali: ''DrawingArea'', ''Panel'', ''Hbox'', e qualche altro. Questi oggetti, in qualità di ''Figli'' dell'oggetto ''MediaView'', contribuiscono a fornire le caratteristiche funzionali ed estetiche del loro oggetto ''Padre''.
 
 
 
Con il codice è possibile non solo modificare molte proprietà di tali oggetti, ma anche di aggiungerne altri all'interno soprattutto di quegli oggetti, ''Figli'' dell'oggetto ''MediaView'', che sono di per sé degli ogetti ''Contenitori''. Quindi è possibile inserire uno o più oggetti negli oggetti ''Contenitori'' che sono a loro vollta ''Figli'' dell'oggetto ''MediaView''.
 
 
 
Per poter aggiungere ulteriori oggetti all'oggetto ''MediaView'', servendosi in vero - come abbiamo detto - dei suoi ''Figli Contenitori'', sarà necessario individuare tali oggetti ''Contenitori''.
 
 
 
In particolare, ad esempio, sarà possibile aggiungere un ''Button'' che consenta così di aprire una finestra di Dialogo, della Classe ''Dialog'', per scegliere i file Midi da far eseguire all'oggetto ''MediaView''. In questo caso l'oggetto ''Contenitore'', che potrà contenere adeguatamente sia dal punto di vista funzionale che estetico tale ''Button'' è a sua volta un oggetto ''Figlio'' di altro ''Contenitore'' a sua volta un oggetto ''Figlio'' di altro ''Contenitore''.
 
 
 
Mostriamo di seguito un possibile codice per realizzare quanto detto:
 
'''Public''' Sub Form_Open()
 
 
 
  Dim ob As Object
 
  Dim bt As Button
 
 
 
  ob = MediaView1.Children[0]
 
  ob = ob.Children[0]
 
  ob = ob.Children[2]
 
 
 
  With bt = New Button(ob.Children[3]) As "Apri"
 
    .X = 10
 
    .Y = 5
 
    .W = 40
 
    .H = 20
 
    .Text = "Apri..."
 
  End With
 
 
 
'''End'''
 
 
 
'''Public''' Sub Apri_Click()
 
 
 
  Dim music1 As String
 
 
 
  With Dialog
 
    .Title = "Apri file Midi..."
 
    .Filter = ["*.mid", "Midi"]
 
    If .OpenFile() Then Return
 
    MediaView1.URL = .Path
 
  End With
 
 
 
'''End'''
 
 
 
 
 
 
 
==Consentire la ripetizione dell'esecuzione del medesimo file Midi==
 
Attualmente, quando l'esecuzione di un file Midi termina, non è possibile, premendo sull'apposito tasto di avvio, la ri-esecuzione del medesimo brano; si dovrà invece prima premere sul tasto di arresto e solo dopo si potrà ripetere l'esecuzione del file Midi appena ascoltato. Ciò avviene, poiché la procedura di esecuzione del file non viene terminata con la fine del file Midi.
 
 
 
Si potrà ovviare a questo problema, utilizzando il seguente codice, con il quale verrà imposto al evento ''_Click()'' del tasto di avvio il metodo ''.Stop()'' per l'arresto forzato della procedura di esecuzione del file Midi.
 
Private bt As Button
 
Private plobs As Observer
 
 
 
'''Public''' Sub Form_Open()
 
 
  Dim ob As Object
 
 
 
  ob = MediaView1.Children[0]
 
  ob = ob.Children[0]
 
  ob = ob.Children[2]
 
  plobs = New Observer(ob.Children[0]) As "Play"
 
 
  With bt = New Button(ob.Children[3]) As "Aprire"
 
    .X = 10
 
    .Y = 5
 
    .W = 40
 
    .H = 20
 
    .Text = "Apri..."
 
    .Border = Border.None
 
  End With
 
 
'''End'''
 
 
 
 
'''Public''' Sub Aprire_Click()
 
 
  With Dialog
 
    If .OpenFile() Then Return
 
    MediaView1.URL = .Path
 
  End With
 
 
 
'''End'''
 
 
 
'''Public''' Sub Aprire_Enter()
 
 
  bt.Border = Border.Plain
 
   
 
'''End'''
 
 
 
'''Public''' Sub Aprire_Leave()
 
 
  bt.Border = Border.None
 
 
 
'''End'''
 
 
 
'''Public''' Sub Play_Click()
 
 
  MediaView1.Stop
 
 
'''End'''
 

Versione attuale delle 17:32, 24 nov 2023

Il Componente gb.media.form (da attivare congiuntamente con il Componente gb.media) fornisce la Classe MediaView, che consente di eseguire agevolmente un file Midi.

Per analogia di argomento si rinvia alla seguente pagina:
Eseguire un file audio mediante l'oggetto MediaView del componente gb.media.form