alisson10000
New Member
Eu ja fiz alguma coisa que esta funcionado mas não consegui fazer o auto play e tela cheia segue o codigo que esta funcional ->
Sub Class_Globals
Private Root As B4XView
Private xui As XUI
Private PainelVideo As B4XView
Private MediaManager As SimpleMediaManager
Private filmeID As String
Private authToken As String
Private parametrosRecebidos As Boolean = False
End Sub
Public Sub Initialize
End Sub
Public Sub CarregarFilme(Args As Object)
Dim valores() As Object = Args
filmeID = valores(0)
authToken = valores(1)
parametrosRecebidos = True
'
Se o painel já estiver criado, reinicializa o vídeo
If PainelVideo.IsInitialized Then
MediaManager.SetMedia(PainelVideo, "") ' limpa anterior
CarregarVideoComJWT
End If
End Sub
Private Sub B4XPage_Created(Root1 As B4XView)
Root = Root1
'
Modo paisagem
Dim p As Phone
p.SetScreenOrientation(2) ' 1 = retrato, 2 = paisagem
'
Cria painel de vídeo
PainelVideo = xui.CreatePanel("")
Root.AddView(PainelVideo, 0, 0, Root.Width, Root.Height)
'
Inicializa MediaManager
MediaManager.Initialize
'
Aguarda parâmetros
Wait For (VerificarParametros) Complete (ok As Boolean)
If ok Then
Sleep(200) ' pequeno delay para layout e rotação aplicarem
AtualizarLayoutVideo
CarregarVideoComJWT
End If
End Sub
Private Sub AtualizarLayoutVideo
PainelVideo.SetLayoutAnimated(0, 0, 0, Root.Width, Root.Height)
End Sub
Private Sub VerificarParametros As ResumableSub
Do While parametrosRecebidos = False
Sleep(50)
Loop
Return True
End Sub
Private Sub CarregarVideoComJWT
Dim videoURL As String = Starter.API_BASE_URL & "/static/videos/" & filmeID & ".mp4"
Log("
URL do vídeo: " & videoURL)
Dim headers As Map = CreateMap("Authorization": $"Bearer ${authToken}"$)
Dim extra As Map = CreateMap( _
MediaManager.REQUEST_HEADERS: headers, _
MediaManager.REQUEST_CALLBACK: Me _
)
MediaManager.SetMediaWithExtra(PainelVideo, videoURL, "", extra)
End Sub
'
Autoplay assim que o vídeo estiver pronto
Private Sub PainelVideo_SMM_MediaReady(Success As Boolean, Media As SMMedia)
If Success Then
Try
Dim playerView As SimpleExoPlayerView = PainelVideo.GetView(0).GetView(0)
playerView.UseController = False ' opcional: oculta os controles
Dim player As SimpleExoPlayer = playerView.Tag
player.Play
Catch
Log("
Erro ao acessar player: " & LastException.Message)
End Try
Else
Log("
Falha ao carregar o vídeo")
End If
End Sub
Private Sub B4XPage_Disappear
MediaManager.SetMedia(PainelVideo, "") ' Libera recursos
End Sub
esta assim esta puxandodo meu back que eu fiz em python estou fazendo um sistema de videos que puder ajudar estou precisando
Sub Class_Globals
Private Root As B4XView
Private xui As XUI
Private PainelVideo As B4XView
Private MediaManager As SimpleMediaManager
Private filmeID As String
Private authToken As String
Private parametrosRecebidos As Boolean = False
End Sub
Public Sub Initialize
End Sub
Public Sub CarregarFilme(Args As Object)
Dim valores() As Object = Args
filmeID = valores(0)
authToken = valores(1)
parametrosRecebidos = True
'

If PainelVideo.IsInitialized Then
MediaManager.SetMedia(PainelVideo, "") ' limpa anterior
CarregarVideoComJWT
End If
End Sub
Private Sub B4XPage_Created(Root1 As B4XView)
Root = Root1
'

Dim p As Phone
p.SetScreenOrientation(2) ' 1 = retrato, 2 = paisagem
'

PainelVideo = xui.CreatePanel("")
Root.AddView(PainelVideo, 0, 0, Root.Width, Root.Height)
'

MediaManager.Initialize
'

Wait For (VerificarParametros) Complete (ok As Boolean)
If ok Then
Sleep(200) ' pequeno delay para layout e rotação aplicarem
AtualizarLayoutVideo
CarregarVideoComJWT
End If
End Sub
Private Sub AtualizarLayoutVideo
PainelVideo.SetLayoutAnimated(0, 0, 0, Root.Width, Root.Height)
End Sub
Private Sub VerificarParametros As ResumableSub
Do While parametrosRecebidos = False
Sleep(50)
Loop
Return True
End Sub
Private Sub CarregarVideoComJWT
Dim videoURL As String = Starter.API_BASE_URL & "/static/videos/" & filmeID & ".mp4"
Log("

Dim headers As Map = CreateMap("Authorization": $"Bearer ${authToken}"$)
Dim extra As Map = CreateMap( _
MediaManager.REQUEST_HEADERS: headers, _
MediaManager.REQUEST_CALLBACK: Me _
)
MediaManager.SetMediaWithExtra(PainelVideo, videoURL, "", extra)
End Sub
'

Private Sub PainelVideo_SMM_MediaReady(Success As Boolean, Media As SMMedia)
If Success Then
Try
Dim playerView As SimpleExoPlayerView = PainelVideo.GetView(0).GetView(0)
playerView.UseController = False ' opcional: oculta os controles
Dim player As SimpleExoPlayer = playerView.Tag
player.Play
Catch
Log("

End Try
Else
Log("

End If
End Sub
Private Sub B4XPage_Disappear
MediaManager.SetMedia(PainelVideo, "") ' Libera recursos
End Sub