Bom dia, Tonyvaz.
Nunca usei esse controle, mas dê uma olhada nas propriedades:
WindowsMediaPlayer1.currentMedia.Duration 'qtd. de segundos - numérico
WindowsMediaPlayer1.currentMedia.durationString 'qtd. de segundos - string "00:00"
WindowsMediaPlayer1.currentMedia.getItemInfo("duration") 'qtd. de seg
Só que se vc for fechar o formulário baseado no tempo do vídeo, pode ser que o usuário interrompa ou pause o vídeo , ou avance/retroceda a algum ponto aleatório durante a apresentação, o fluxo ficará prejudicado, penso eu.
Talvez nesse acho que seria melhor explorar o evento PlayStateChange, algo como
Private Sub WindowsMediaPlayer1_PlayStateChange(ByVal NewState As Long)
If NewState = wmplib.WMPPlayState.wmppsMediaEnded Or _
NewState = wmplib.WMPPlayState.wmppsStopped Then
'Código prá concluir seu Form, etc...
End If
End Sub
Peço desculpas, mas como nunca usei esse ActiveX, não posso garantir que dê certo.
O modelo de objetos do controle está em: https://msdn.microsoft.com/en-us/library/windows/desktop/dd564034(v=vs.85).aspx
Outro artigo que pode te interessar: http://silkyroad.developpez.com/VBA/WindowsMediaPlayer/
Postado : 25/08/2016 9:16 am