Eseguire un file audio mediante l'oggetto MediaView del componente gb.media.form

Da Gambas-it.org - Wikipedia.

Il componente gb.media.form (da attivare congiuntamente con il componente gb.media) fornisce l'oggetto MediaView che consente di eseguire agevolmente un file audio.

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.

Il file audio 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 = "/percorso/del/file/audio"    
 End With

End


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 audio 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[3]
  
  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
    If .OpenFile() Then Return
    MediaView1.URL = .Path
  End With
  
End


Public Sub Apri_Enter()

  bt.Border = Border.Plain
   
End


Public Sub Apri_Leave()

  bt.Border = Border.None
 
End