Differenze tra le versioni di "Conoscere la durata di un file video mediante il Componente gb.media"
Da Gambas-it.org - Wikipedia.
Riga 13: | Riga 13: | ||
Dim mp As MediaPlayer | Dim mp As MediaPlayer | ||
− | + | With mp = New MediaPlayer | |
− | + | .URL = Media.URL("<FONT Color=gray>''/percorso/del/file/video''</font>") | |
− | + | .Play | |
− | + | .Video.Enabled = False | |
+ | End With | ||
− | + | Do | |
− | + | Sleep 0.01 | |
− | + | Loop Until mp.Duration > 0 | |
− | + | Print "Durata del video: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Duration * 1000)) | |
− | + | mp.Stop | |
+ | mp.Close | ||
'''End''' | '''End''' | ||
Riga 46: | Riga 48: | ||
.URL = Media.URL ("<FONT Color=gray>''/percorso/del/file/video''</font>") | .URL = Media.URL ("<FONT Color=gray>''/percorso/del/file/video''</font>") | ||
.Play | .Play | ||
− | + | .Video.Enabled = False | |
Do | Do | ||
Sleep 0.01 | Sleep 0.01 | ||
Riga 53: | Riga 55: | ||
Print "Durata del video: " & CStr(Date(0, 0, 0, 0, 0, 0, .Duration * 1000)) | Print "Durata del video: " & CStr(Date(0, 0, 0, 0, 0, 0, .Duration * 1000)) | ||
.Stop | .Stop | ||
− | + | .Close | |
End With | End With | ||
'''End''' | '''End''' |
Versione delle 09:53, 4 ago 2019
Per conoscere la durata di un file video, 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 video 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 paio di esempi essenziali.
1° Esempio
Questo esempio utilizza la sola Classe MediaPlayer:
Public Sub Main() Dim mp As MediaPlayer With mp = New MediaPlayer .URL = Media.URL("/percorso/del/file/video") .Play .Video.Enabled = False End With Do Sleep 0.01 Loop Until mp.Duration > 0 Print "Durata del video: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Duration * 1000)) mp.Stop mp.Close End
2° esempio
Questo esempio utilizza le Classi MediaPlayer e MediaControl:
Public Sub Main() Dim mp As New MediaPlayer Dim uscitaVideo As MediaControl ' Utilizza il plug-in "fakesink" per impedire che sia mostrata una finestra con il video: uscitaVideo = New MediaControl(mp, "fakesink") With mp = New MediaPlayer ' Imposta gli effetti del plug-in "fakesink" come uscita video: .Video.Output = uscitaVideo .URL = Media.URL ("/percorso/del/file/video") .Play .Video.Enabled = False Do Sleep 0.01 Loop Until mp.Duration > 0 Print "Durata del video: " & CStr(Date(0, 0, 0, 0, 0, 0, .Duration * 1000)) .Stop .Close End With End