Italian B4J - VideoView

ivanomonti

Expert
Licensed User
Longtime User
Sempre io e che cavolo non vi lascio riposare hahahah colpa della pandemia e di tutti i fermi... ma nel frattempo ho fatto domanda anche all'inps per le 600€ hahahah

Dai vediamo se trovo qualcuno che ha smanettato con il Video e mi da una mano, ho problemi a centrare il video dentro il suo ingombro e non trovo come richiamare stop, play riavvolgi bla bla bla... ragazzi gli errori di tastiera sono dovuti alla mia tastiera di merda in gomma hahahaha,,, ortografia invece sono tutti miei


loadvideo:
Private Sub loadvideo(ls As List)
    ' referenze java MediaView
    ' https://docs.oracle.com/javase/8/javafx/api/javafx/scene/media/MediaView.html
    Dim m As MediaPlayer
    Dim mv As JavaObject
    Try
        Dim url As String = File.Combine(File.DirApp,ls.Get(0))
        Dim title As String = ls.Get(1)
        If File.Exists(url,title) = True Then
            m.Initialize("m",File.GetUri(url,title))
            mv.InitializeNewInstance("javafx.scene.media.MediaView",Array(m))
            viewvideo.AddView(mv,0,0,-1,-1)
            mv.RunMethod("setX",Array(0.0))
            mv.RunMethod("setY",Array(0.0))
            mv.RunMethod("setFitWidth",Array(base.Width))
            mv.RunMethod("setFitHeight",Array(base.Height-150))
            m.CycleCount=-1
            m.Volume=0
            m.Play
        Else
            fx.Msgbox(Null,"Video "  & title & " non trovato","")
        End If
    Catch
        Log(m)
        fx.Msgbox(Null,"Video non trovato","")
    End Try

End Sub

2020-04-18_013852.png
 

ivanomonti

Expert
Licensed User
Longtime User
nessuna idea da propormi!!!

devo realizzare anteprima dei videoche trovo nella cartella media... come ho fatto con photo ...

2020-04-26_152943.jpg
 

ivanomonti

Expert
Licensed User
Longtime User
Ciao sono arrivato a buon punto, ma avrei bvisogno di una mano a sistemare due cose, uno centrare il video nel pannello (ma non so come prendere i valori left, top, Width e Height del movie, per quanto possa smanettarci con le coordinate che impongo la posizione va alla cazzo. Mi date una mano che così questa parte la chiudo, visto che i movie non li ho mai usati?

B4X:
Sub xxx_MouseClicked (EventData As MouseEvent)
    
    Dim listViewTemp As ListView = Sender
    
    If listViewTemp.SelectedIndex = -1 Then Return
    
    Dim l,t,w,h As Double
    
    w = (View.Width*90/100)
    h = (View.Height*90/100)
    l= (View.Width-w)/2
    t=(View.Height-h)/2

    Dim pn As B4XView =  listViewTemp.Items.Get(listViewTemp.SelectedIndex)
    Dim uri As String = pn.Tag
    
    Dim mdp As MediaPlayer
    mdp.Initialize("", uri)
    
    Dim mv As JavaObject
    mv.InitializeNewInstance("javafx.scene.media.MediaView",Array(mdp))
    mv.RunMethod("setX",Array(l))
    mv.RunMethod("setY",Array(t))
    mv.RunMethod("setFitWidth",Array(w))
    mv.RunMethod("setFitHeight",Array(h))
    
    mdp.CycleCount=1
    mdp.Volume=1
    mdp.Play
    
    View.AddView(mv,l,t,w,h)
    
End Sub

2020-04-26_191519.jpg
 

ivanomonti

Expert
Licensed User
Longtime User
Che poi... stai sviluppando il sw in modo che possa girare anche su Android e iOS? Se fosse così, sarebbe necessario trovare un player che funzioni anche su questi.

no questo e solo per pc poi farò qualcosa per android e ios visto che ho le licenze
 

LucaMs

Expert
Licensed User
Longtime User
Che poi... stai sviluppando il sw in modo che possa girare anche su Android e iOS? Se fosse così, sarebbe necessario trovare un player che funzioni anche su questi.
E se si potesse visualizzare un video in una WebView? Magari questa potrebbe esserci adatta per le 3 piattaforme.

no questo e solo per pc poi farò qualcosa per android e ios visto che ho le licenze
Non so se lo sai ma adesso B4A è FREE.
 

ivanomonti

Expert
Licensed User
Longtime User
@LucaMs , pur usando dei parametri fissi non li ha cagati,,, specie la dimensione top

B4X:
Dim l,t,w,h As Double
    
    w = (View.Width*90/100)
    h = (View.Height*90/100)
    l= (View.Width-w)/2
    t=(View.Height-h)/2

    Dim pn As B4XView =  listViewTemp.Items.Get(listViewTemp.SelectedIndex)
    Dim uri As String = pn.Tag
    
    Dim mdp As MediaPlayer
    mdp.Initialize("", uri)
    
    Dim mv As JavaObject
    mv.InitializeNewInstance("javafx.scene.media.MediaView",Array(mdp))
    mv.RunMethod("setX",Array(l))
    mv.RunMethod("setY",Array(t))
    mv.RunMethod("setFitWidth",Array(w))
    mv.RunMethod("setFitHeight",Array(h))
 
Top