Story Transcript
CONTROL MULTIMEDIA MCI MICROSOFT MULTIMEDIA CONTROL 6.0 El control MCI proporciona una forma fácil de grabar y reproducir ficheros multimedia de dispositivos como: Tipo de dispositivo Controlador del dispositivo CD de audio Mcicda.drv Secuenciador Mciseq.drv Audio por forma de onda Mciwave.drv Reproductor de ficheros AVI Mciavi.drv Videodisco Mcipionr.drv Cintas de vÃ−deo Mcivisca.drv Está formado por un conjunto de botones que permiten enviar órdenes MCI a dispositivos tales como tarjetas de sonido, secuenciadores MIDI, unidades de CD-ROM, reproductores CD de audio, reproductores de videodiscos y grabadoras y reproductoras de cintas de vÃ−deo. Para incluir un control de este tipo en un formulario, debemos primero ir al menú proyecto y elegir la opción componentes, y dentro de la pestaña componentes seleccionar el control que se llama Microsoft Multimedia Control 6.0.
La figura siguiente muestra el aspecto de este control. Cada uno de los botones, según el orden en el que aparecen, se denominan: Prev (anterior), Next (siguiente), Play (reproducir), Pause (pausa), Back (atrás), Step (adelante), Stop (detener), Record (grabar) y Eject (expulsar), y tienen asociada una acción predeterminada que se ejecuta cada vez que se hace clic en el botón correspondiente. Cuando se hace clic en uno de los botones ocurre un suceso Clic para ese botón. Por ejemplo, si hacemos clic en el botón Play de un supuesto control MMControl1, primero se ejecutará el procedimiento MMControl1_PlayClick, si se ha implementado, y después la acción predeterminada asociada al botón. Private Sub MMControl1_PlayClick (Cancel As Integer) End Sub El control MCI se compone de un juego de órdenes de dispositivos que permiten controlar los periféricos audiovisuales. El valor de su propiedad Command especifica la orden a ejecutar. Para una acción determinada, la primera orden que se transmite es Open. Esta orden abre el dispositivo MCI especificado. Para ello, utiliza las propiedades: Notify (False), Wait (True), Shareable, DevideType y Filename. Una vez abierto el dispositivo, puede utilizar la propiedad Command para transmitir otra orden o hacer clic en el botón asociado, si éste está presente. Si la propiedad Notify vale False (valor predeterminado) la orden siguiente que se ejecute no genera el suceso Done. 1
Si la propiedad Wait vale True el control MCI espera a que concluya la orden MCI siguiente; después devuelve el control a la aplicación. Si la propiedad Shareable vale False ningún otro control o aplicación tiene acceso a este dispositivo. La propiedad DevideType especifica el tipo de dispositivo abierto: AVIVideo, CDAudio, DAT, DigitalVideo, MMMovie, Other, Overlay, Scanner, Sequencer, VCR, VideoDisc o WaveAudio. Esta propiedad no es necesario establecerla cuando la extensión del nombre del fichero especifique el tipo de dispositivo que se debe utilizar (propiedad Filename). La propiedad Filename especifica el fichero que hay que abrir cuando se ejecute Open, o guardar cuando se ejecute Save. Una vez abierto el dispositivo, pueden transmitirse cualquiera de las ordenes siguientes: Play Activa la reproducción de un dispositivo. Utiliza las propiedades Notify (False), Wait (True), From y To. Pause Interrumpe una reproducción o grabación. Utiliza las propiedades Notify (False), Wait (True). Stop Detiene la reproducción o grabación. Utiliza las propiedades Notify (False), Wait (True). Back Retrocede. Utiliza las propiedades Notify (False), Wait (True). Step Avanza. Utiliza las propiedades Notify (False), Wait (True) y Frames. Prev Retrocede al principio de la pista actual. Utiliza las propiedades Notify (False), Wait (True). Next Avanza al principio de la pista siguiente. Utiliza las propiedades Notify (False), Wait (True). Seek Si no se encuentra reproduciendo, busca una posición. Si se encuentra reproduciendo, prosigue con la reproducción desde una posición indicada. Utiliza las propiedades Notify (False), Wait (True) y To. Record Graba. Utiliza las propiedades Notify (True), Wait (False), From, To, RecordMode (0 - insertar). Eject Abre el medio. Utiliza las propiedades Notify (False), Wait (True). Sound Emite sonido. Utiliza las propiedades Notify (False), Wait (True) y Filename. Save Guarda el fichero abierto. Utiliza las propiedades Notify (False), Wait (True) y Filename. La orden Close es la última orden MCI del dispositivo que se transmite. Devuelve al dispositivo al conjunto de recursos disponibles del sistema y cierra el fichero de datos asociados con el dispositivo. Utiliza las propiedades Notify (False), Wait (True). Para administrar los recursos de multimedia de forma apropiada, deben cerrarse los dispositivos MCI que se encuentren abiertos antes de salir de la aplicación. Puede utilizarse para ello el procedimiento Form_Unload. Por ejemplo: Private Sub Form_Unload (Cancel As Integer) MMControl1.Command = “Close” 2
End Sub Si se desea utilizar los botones del control MCI, estos deberán tener las propiedades Visible y Enable a True. Si no se desea utilizar los botones del control pero desea utilizar el control MCI por las funciones multimedia en si, establezca las propiedades Visible y Enable a False. Una aplicación es capaz de controlar los dispositivos MCI con o sin la interacción del usuario. La propiedad botón Visible permite hacer o no visible el botón. El valor predeterminado es True. La propiedad AutoEnabled determina si el control MCI puede habilitar o deshabilitar los botones del control de forma individual. El valor predeterminado es True, lo que significa que están habilitados los botones cuyas funciones estén disponibles e inhabilitados aquellos cuyas funciones no estén disponibles. La propiedad CanOrden indica si el dispositivo puede realizar la orden especificada; por ejemplo, CanRecord determina si el dispositivo puede grabar y devolverá True si el dispositivo está listo para grabar y False si no lo está. Otras propiedades de este estilo son CanEject, CanPlay, Canstep .... La propiedad hWndDisplay especifica sobre dónde se reproducirá la salida cuando se utilizan dispositivos que emplean una ventana para mostrar la salida (como en el caso de reproducción de vÃ−deo). Si omitimos esta propiedad el fichero AVI se reproducirá sobre una ventana propia del dispositivo. CODIGO DEL PROGRAMA REPRODUCTOR DE video (AVI). Option Explicit Private Sub abrir_Click() Dim f As String 'declaración de una variable With CommonDialog1 .Filter = "Ficheros (*.avi)|*.avi" 'aplica los tipos de ficheros que tendrá el cuadro de dialogo .FilterIndex = 1 'asigna el filtro predeterminado .ShowOpen f = CommonDialog1.FileTitle 'guarda el nombre del fichero a abrir en la variable MMControl1.FileName = f 'especifica que abrá el nombre de fichero que contiene la variable End With MMControl1.Command = "Open" 'manda la orden de abrir el dispositivo End Sub Private Sub Form_Load() MMControl1.Notify = False 'a False para no generar el suceso Done MMControl1.Wait = True 'para que espere a que concluya la orden MCI 3
MMControl1.Shareable = False 'el dispositivo no podrá ser usado por otra aplicación o control MMControl1.DeviceType = "avivideo" 'le asigna al control que será reproductor de AVI. MMControl1.hWndDisplay = Picture1.hWnd 'para indicar donde se producirá la salida. End Sub Private Sub Form_Unload(Cancel As Integer) MMControl1.Command = "Close" 'manda la orden de cerrar el dispositivo End Sub Private Sub salir_Click() Dim resp As Integer 'declaración de una variable resp = MsgBox("¿DESEAS SALIR?", vbInformation + vbYesNo, "SALIR") If resp = vbYes Then 'pregunta si la respuesta al cuadro de dialogo a sido SÃ− en este caso descarga el formulario Unload Form1 End If End Sub TABLA DE VALORES DE LAS PROPIEDADES DE LOS OBJETOS DEL PROGRAMA REPRODUCTOR DE video (AVI). Objeto Control MCI
Propiedad Name EjectVisible RecordVisible AutoEnabled DevideType Enabled Frames Shareable Silent
Valor MMControl1 False False False AVIViedo True 1 False False
Caja de imagen
Name Picture
Picture1 Ninguno
OBJETO DEL PROGRAMA REPRODUCTOR DE video (AVI).
4
Figura 1. Figura 3.
Figura 2. La Figura 1 muestra el aspecto del formulario, de nuestro programa. La Figura 2 muestra el cuadro de dialogo ABRIR. La Figura 3 muestra el cuadro de dialogo SALIR. BIBLIOGRAFÃ A. - Enciclopedia de Visual Basic
5
de Francisco Javier Cevallos. - Ayuda de Microsoft Visual Basic Edición Empresarial 6.0. - 7. -
6