Este código fuente es un simple reproductor de archivos de video mpg, avi, wmv etc.., utilizando la función del Api MciSendString, y el video se reproduce sobre un formulario
El preproductor tiene las opciones básicas de reproducción ( Reproducir, pausa, loop, pantalla completa, stop)
El reproductor permite los comandos básicos de play , pausa, etc.., establecer la posición de reproducción mediante un control Slider, establecer el volumen , ver la posición en segundos y el total de la reproducción, y varias otras opciones que NO se usan en el ejemplo, pero que se pueden acceder mediante métodos y propiedades que tiene el módulo de clase, como por ejemplo:
- Ejecutar el video a pantalla completa ( método playFullScreen )
- Obetner los frames por segundo y el total
- Establecer y recuperar la posición y tamaño del video dentro del objeto a reproducir : Left, Top, Width y Height ( en este caso es en un picturebox )
- Chequear si el dispositivo está listo para poder reproducir el video ( Método checkDeviceReady )
- Chequear y ver el estado del audio ( getAudioStatus ),
- Establecer el Rate o velocidad de reproducción
- Ver el estado actual del dispositivo Mci ( getStatus ) para saber si se está en Pausa, Stop, Play etc.. ,
- Minimizar y reestaurar la ventana de reproducción en caso de hacerlo en una ventana independiente ( minimizeMovie y restoreMovie)
- Reiniciar el video ( restartMovie )
- Rebobinar y adelantar el video ya sea por cuadros, por segundos y por milisegundos
- Abrir y cerrar la bandeja de CD o DVD ( setDoorClosed y setDoorOpen )
- Manejar el balance de los altavoces
- Algunas otras opciones
Nota: en el ejemplo,se hizo para que al redimensionar el formulario, el video también se redimensione con el tamaño que tenga el picturebox donde se visualiza el movie.
Per puede ser que querramos que el video tenga un tamaño fijo, para ello se debe quitar la siguiente linea de código del evento Resize del formulario :
' redimensiona el tamaño del video
MM.sizeLocateMovie 0, 0, _
(Picture1.Width / Screen.TwipsPerPixelX), _
(Picture1.Height / Screen.TwipsPerPixelY)
... y colocarle al método sizeLocateMovie, los valores que se quiran para establecer el ancho, alto, la posición Left y Top