Differenze tra le versioni di "Conoscere la durata di un file Midi mediante il Componente gb.media"

Da Gambas-it.org - Wikipedia.
Riga 22: Riga 22:
 
Talvolta può accadere che la Proprietà ".Duration", ritardando la determinazione della durata de file Midi, restituisca un valore = 0.0.
 
Talvolta può accadere che la Proprietà ".Duration", ritardando la determinazione della durata de file Midi, restituisca un valore = 0.0.
 
<BR>In tal caso è sufficiente far precedere un ciclo, dal quale si uscirà soltanto quando la Proprietà ".Duration" restituirà un valore superiore a 0.0.
 
<BR>In tal caso è sufficiente far precedere un ciclo, dal quale si uscirà soltanto quando la Proprietà ".Duration" restituirà un valore superiore a 0.0.
 +
 +
Di seguito un esempio essenziale per ottenere con sicurezza il valore della durata di un file Midi dalla Proprietà ".Duration":
 
   Repeat  
 
   Repeat  
 
     Wait 0.01
 
     Wait 0.01

Versione delle 18:14, 17 set 2022

Per conoscere la durata di un file Midi, 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 file Midi espresso in secondi.

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

Mostriamo un essenziale esempio:

Public Sub Main()

 Dim mp As MediaPlayer

 With mp = New MediaPlayer
   .URL = Media.URL("/percorso/del/file.mid")
   .Audio.Mute = True
   .Play()
   Print "Durata del file Midi: " & CStr(Date(0, 0, 0, 0, 0, 0, .Duration * 1000))
   .Stop()
   .Close()
 End With

End

Se la Proprietà ".Duration" restituisce un valore = 0

Talvolta può accadere che la Proprietà ".Duration", ritardando la determinazione della durata de file Midi, restituisca un valore = 0.0.
In tal caso è sufficiente far precedere un ciclo, dal quale si uscirà soltanto quando la Proprietà ".Duration" restituirà un valore superiore a 0.0.

Di seguito un esempio essenziale per ottenere con sicurezza il valore della durata di un file Midi dalla Proprietà ".Duration":

 Repeat 
   Wait 0.01
 Until .Duration > 0.0

 Print "Durata del file Midi: \e[34m"; Time(0, 0, 0, .Duration * 1000)