Conoscere le dimensioni di un video mediante il Componente gb.media

Da Gambas-it.org - Wikipedia.

Per conoscere le dimensioni (Width, Height) in pixel di un video mediante il Componente gb.media, sarà possibile utilizzare almeno due modalità.

Usando la Classe MediaPlayer

Mostriamo un semplice esempio pratico:

Public Sub Main()

 Dim mp As New MediaPlayer
 
 mp.URL = Media.URL("/percorso/del/file/video")

 mp.Play

 With mp.Video.Image
   Print "Dimensione del video: " & .W; "x"; .H & " pixel"
 End With 

 mp.Close

 Quit

End


Usando le Classi MediaPipeline e MediaControl

Mostriamo un semplice esempio pratico adoperando il plugin Decodebin di GStreamer:

Public Sub Main()

 Dim pl As New MediaPipeline
 Dim src, dcb, con, xis As MediaControl

 src = New MediaControl(pl, "filesrc")
 src["location"] = "/percorso/del/file/video"
 dcb = New MediaControl(pl, "decodebin")
 con = New MediaControl(pl, "videoconvert")
' Il plugin "fakesink" impedisce che sia mostrata, seppur per un attimo, un'immagine del video:
 xis = New MediaControl(pl, "fakesink")
 
 src.LinkTo(dcb)
 dcb.LinkLaterTo(con)
 con.LinkTo(xis)

 pl.Play()
 
 With xis.GetLastImage()
   Print "Dimensione del video: "; .W; "x"; .H; " pixel"
 End With

 pl.Close

End