Conoscere la durata di un file audio mediante il Componente gb.media

Da Gambas-it.org - Wikipedia.

Per conoscere la durata di un file audio, il Componente gb.media fornisce la proprietà .Duration della Classe MediaPlayer. In particolare questa proprietà restituisce un valore di tipo Float che rappresenta la durata del brano musicale espresso in secondi.

Poiché tale proprietà ritorna più precisamente la durata dei dati processati, essa potrà essere utilizzabile solo successivamente all'attivazione del Metodo ".Play()".

Usare la Classe "MediaPlayer"

Mostriamo un essenziale esempio usando la Classe "MediaPlayer":

Public Sub Main()
 
 Dim mp As MediaPlayer
 
 With mp = New MediaPlayer
   .URL = Media.URL("/percorso/del/file/audio")
   .Audio.Mute = True
   .Play
   Repeat     ' Resta in attesa fino a che non viene conosciuta la durata del brano audio 
     Wait 0.01
   Until mp.Duration > 0.0
   Print "Durata del brano: " & CStr(Time(0, 0, 0, mp.Duration * 1000))
   .Stop()
   .Close()
 End With
  
End

Usare la Classe "MediaPipeline"

Per utilizzare invece la Classe "MediaPipeline" si rinvia agli esempi presenti nella seguente pagina:
Eseguire i file audio mediante la Classe MediaPipeline del componente gb.media


Note

Si è notato che la Proprietà ".Duration" non riesce a conoscere la durata audio di alcuni file MP3.