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
+
  With mp = New MediaPlayer
    .URL = Media.URL("<FONT Color=gray>''/percorso/del/file/video''</font>")
+
    .URL = Media.URL("<FONT Color=gray>''/percorso/del/file/video''</font>")
    .Play
+
    .Play
  End With
+
    .Video.Enabled = False
 +
  End With
 
    
 
    
  Do
+
  Do
    Sleep 0.01
+
    Sleep 0.01
  Loop Until mp.Duration > 0
+
  Loop Until mp.Duration > 0
 
    
 
    
  Print "Durata del video: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Duration * 1000))
+
  Print "Durata del video: " & CStr(Date(0, 0, 0, 0, 0, 0, mp.Duration * 1000))
 
    
 
    
  mp.Stop
+
  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