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

Da Gambas-it.org - Wikipedia.
Riga 5: Riga 5:
  
 
Mostriamo un paio di esempi essenziali.
 
Mostriamo un paio di esempi essenziali.
 
  
 
===1° Esempio===
 
===1° Esempio===
Riga 19: Riga 18:
 
   End With
 
   End With
 
    
 
    
   Do
+
   Repeat
 
     Sleep 0.01
 
     Sleep 0.01
   Loop Until mp.Duration > 0
+
   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))
Riga 40: Riga 39:
 
    
 
    
 
  <FONT Color=gray>' ''Utilizza il plug-in "fakesink" per impedire che sia mostrata una finestra con il video:''</font>
 
  <FONT Color=gray>' ''Utilizza il plug-in "fakesink" per impedire che sia mostrata una finestra con il video:''</font>
  uscitaVideo = New MediaControl(mp, "fakesink")
+
  uscitaVideo = New MediaControl(mp, "fakesink")
 
    
 
    
  With mp = New MediaPlayer
+
  With mp = New MediaPlayer
 
      
 
      
 
  <FONT Color=gray>' ''Imposta gli effetti del plug-in "fakesink" come uscita video:''</font>
 
  <FONT Color=gray>' ''Imposta gli effetti del plug-in "fakesink" come uscita video:''</font>
    .Video.Output = uscitaVideo   
+
    .Video.Output = uscitaVideo   
    .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
+
    .Video.Enabled = False
    Do
+
    Repeat 
      Sleep 0.01
+
      Sleep 0.01
    Loop Until mp.Duration > 0
+
    Until mp.Duration > 0
 
      
 
      
    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
+
    .Close
  End With
+
  End With
 
    
 
    
 
  '''End'''
 
  '''End'''

Versione delle 17:07, 28 giu 2020

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
  
 Repeat
   Sleep 0.01
 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
   Repeat   
     Sleep 0.01
   Until mp.Duration > 0
    
   Print "Durata del video: " & CStr(Date(0, 0, 0, 0, 0, 0, .Duration * 1000))
   .Stop
   .Close
 End With
  
End