miércoles, 23 de marzo de 2011

Reproductor de video


Option Explicit
Dim MM As New MovieModule


' Botón Play
''''''''''''''''''''''''''
Private Sub Command1_Click()
    On Error Resume Next
    ' play
    MM.playMovie
    MM.setVolume Volume.Value * 10 ' establece el volumen
    ' Activa el timer
    Timer1.Enabled = True
    ' posición máxima
    SliderPosition.Max = Val(MM.getLengthInSec)
    MM.timeOut 0.5
    ' estado actual
    StatusBar1.Panels(1).Text = "Status: " & MM.getStatus
    ' Estado del error
    StatusBar1.Panels(3).Text = "Error Status: " & MM.checkError

End Sub

' botón que detiene
'''''''''''''''''''''''''
Private Sub Command2_Click()
    MM.stopMovie   ' detiene
    Timer1.Enabled = False
    MM.timeOut 1
    ' estado de reprodución
    StatusBar1.Panels(1).Text = "Status: " & MM.getStatus
    ' estado de error
    StatusBar1.Panels(3).Text = "Error Status: " & MM.checkError
End Sub

' botón de pausa
''''''''''''''''''''''''''''''
Private Sub Command3_Click()
    If Command3.Caption = "Pausa" Then
        MM.pauseMovie
        Command3.Caption = "Resume"
        Timer1.Enabled = False
    Else
        MM.resumeMovie
        Command3.Caption = "Pausa"
        Timer1.Enabled = True
    End If
    MM.timeOut 1
    StatusBar1.Panels(1).Text = "Status: " & MM.getStatus
    StatusBar1.Panels(3).Text = "Error Status: " & MM.checkError
End Sub

' botón que abre y carga la pelicula
''''''''''''''''''''''''''''''''''''''
Private Sub Command4_Click()
    Dim a As Long
    Dim b As Long

    C.Filter = "Avi Files (*.avi)|*.avi|Mpeg Files (*.mpeg)|*.mpeg|Mpg Files (*.mpg)|*.mpg|Mov Files (*.mov)|*.mov|All Files (*.*)|*.*"
    C.ShowOpen
    MM.Filename = C.Filename
    Me.Caption = C.Filename
' abre el video
    ' si se pasa overlapped la abre en una ventana aparte
    MM.openMovieWindow Picture1.hWnd, "child"
    C.Filename = ""
' actualiza los datos del movie
    StatusBar1.Panels(1).Text = "Status: " & MM.getStatus
    StatusBar1.Panels(3).Text = "Error Status: " & MM.checkError

End Sub


' cierra el MCI
'''''''''''''''''''''''''''
Private Sub Command5_Click()
    MM.closeMovie 'close the mci device
    StatusBar1.Panels(1).Text = "Status: " & MM.getStatus
    StatusBar1.Panels(3).Text = "Error Status: " & MM.checkError
    Timer1.Enabled = False
End Sub




Private Sub FloatButton1_Click()

End Sub

Private Sub L4_Click()

End Sub

Private Sub L3_Click()

End Sub


Private Sub Form_Resize()
    Fr.Width = Me.ScaleWidth - 300
    SliderPosition.Width = Me.ScaleWidth - 100
    Picture1.Width = Me.ScaleWidth - 300
    Picture1.Height = Me.ScaleHeight - (Picture1.top + StatusBar1.Height)
   
    ' redimensiona el tamaño del movie
    MM.sizeLocateMovie 0, 0, _
                       (Picture1.Width / Screen.TwipsPerPixelX), _
                       (Picture1.Height / Screen.TwipsPerPixelY)
End Sub

Private Sub SliderPosition_Click()
    'change the playback position of the movie
    MM.setPositionTo SliderPosition.Value
End Sub


'Timer que actualiza los datos del video
'''''''''''''''''''''''''''''''''''
Private Sub Timer1_Timer()
    On Error Resume Next
    ' posición en segundos
    StatusBar1.Panels(2).Text = "Posicion: " & MM.getFormatPosition & " de: " & MM.getFormatLength
    ' posición
    SliderPosition.Value = MM.getPositionInSec
End Sub


' establece los valores por defecto para el volumen y para _
  la velocidad de reproducción
  '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Form_Load()
    Volume.Value = 80
End Sub
' cierra el dispositivo
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Sub Form_Unload(Cancel As Integer)
    MM.closeMovie
    Unload Me
    End
End Sub



'slider para cambiar el volumen
'''''''''''''''''''''''''''''''''''
Private Sub Volume_ValueChanged()
    MM.setVolume Volume.Value * 10
    labelVol.Caption = "Volumen: " & Volume.Value & "%"
End Sub

1 comentario:

  1. Muy buen ejemplo...

    siguiendo esta guía consigo reproducir el video. Pero lo que necesito ahora es reproducirlo también en otro monitor. EL problema es que cuando sitúo el form en el monitor secundario no se reproduce el vídeo, pero si lo arrastro al principal continúa en donde le corresponde según la línea de tiempo...

    ¿qué sucede? ¿Cómo puedo hacer para reproducirlo al mismo tiempo en el monitor principal y en el secundario?

    Gracias y un saludo

    ResponderEliminar

Con la tecnología de Blogger.

Busqueda

Sabias que?

chat

Popular Posts