Differenze tra le versioni di "Conoscere le dimensioni di un video mediante il Componente gb.media"

Da Gambas-it.org - Wikipedia.
 
Riga 33: Riga 33:
 
   dcb = New MediaControl(pl, "decodebin")
 
   dcb = New MediaControl(pl, "decodebin")
 
   con = New MediaControl(pl, "videoconvert")
 
   con = New MediaControl(pl, "videoconvert")
 +
<FONT Color=gray>' ''Il plugin "fakesink" impedisce che sia mostrata, seppur per un attimo, un'immagine del video:''</font>
 
   xis = New MediaControl(pl, "fakesink")
 
   xis = New MediaControl(pl, "fakesink")
 
    
 
    

Versione attuale delle 04:34, 1 lug 2024

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