Controlar elementos multimedia con los desencadenadores en una escala de tiempo

Esta página es específica de proyectos WPF

Los elementos multimedia pueden incluir referencias a archivos de audio (como los archivos WAV) o a archivos de vídeo (como los archivos WMV). Puede usar desencadenadores de eventos en una escala de tiempo de animación para controlar la reproducción de archivos multimedia.

En el ejemplo siguiente se muestra cómo controlar la reproducción de vídeo al desencadenar la escala de tiempo de vídeo cuando el puntero entra y sale del área de visualización del vídeo. Para obtener más información acerca de cómo modificar las escalas de tiempo, vea Animar objetos y Enlazar con un método de control de eventos existente. Este ejemplo establece desencadenadores en los eventos MouseEnter y MouseLeave de un objeto de la mesa de trabajo. Para obtener una lista de otros eventos en los que puede establecer desencadenadores, vea la Controls, properties, and events reference (Blend).

Advertencia

Para trabajar con los elementos multimedia en Blend para Visual Studio, debe tener instalado en el equipo el Reproductor de Windows Media 12.Puede descargar el Reproductor de Windows Media 12 desde el Sitio web de Windows Media.

Para controlar la reproducción de vídeo con el puntero del mouse

  1. Para asignar más espacio al panel Objetos y escala de tiempo en el área de trabajo de Blend, cambie al Área de trabajo de animación (F6). Esta acción mueve el panel Objetos y escala de tiempo debajo de la mesa de trabajo.

  2. En el panel Objetos y escala de tiempo, active el objeto al que desea agregar el vídeo; para ello, haga clic en el objeto. Por ejemplo, para agregar el vídeo a la raíz de la aplicación, haga clic en LayoutRoot.

  3. Para agregar el archivo de vídeo a la mesa de trabajo, primero agregue el archivo de vídeo al proyecto (Ctrl+I) y, a continuación, haga doble clic en el archivo de vídeo en el panel Proyecto. Se creará un elemento multimedia en el panel Objetos y escala de tiempo con la propiedad Source establecida en la ruta de acceso al archivo de vídeo.

    • Si se seleccionó una escala de tiempo antes de agregar el archivo multimedia a la mesa de trabajo, éste se insertará en esa escala de tiempo y se programará para que se inicie en la ubicación del cabezal de reproducción actual.

    • Si no hay ninguna escala de tiempo seleccionada, se creará una para el elemento multimedia y éste se agregará a la nueva escala de tiempo desde la marca de 0 segundos.

    Para obtener acceso al procedimiento completo que muestra la forma de agregar medios a la mesa de trabajo, vea el tema Insertar un archivo de audio o vídeo en el documento activo.

  4. En el panel Desencadenadores, se habrá agregado un nuevo desencadenador de eventos para el evento Window.Loaded. Haga clic en Window.Loaded para ver la acción que desencadena el evento Window.Loaded. De manera predeterminada, se iniciará la escala de tiempo del vídeo. El objetivo es que el vídeo se reproduzca cuando el puntero esté sobre el área de visualización del vídeo y que se detenga cuando el puntero salga de dicha área. La primera tarea consiste en detener el vídeo en cuanto empiece al cargarse la ventana de la aplicación.

  5. En el panel Desencadenadores, haga clic en el botón Agregar nueva acción JJ170348.d02551d0-d56a-4ca3-9d5f-58fbc6bda0c3(es-es,VS.120).png junto a Cuando se genera Window.Loaded. Aparecerá una segunda acción predeterminada en la lista, que llama al método timeline.Begin.

  6. Haga clic en el cuadro de lista desplegable de método y seleccione Pausa. El panel Desencadenadores debe ser similar a la siguiente imagen. Ahora, el vídeo se iniciará y se detendrá inmediatamente cuando se cargue la ventana de la aplicación.

    Agregar otra acción al desencadenador de eventos Window.Loaded

    JJ170348.eb6a6c52-1702-4c26-a700-a8e7d92e06e5(es-es,VS.120).png

  7. Para conectar la escala de tiempo de la película a un evento del mouse, debe agregar un nuevo desencadenador de eventos. Haga clic en Agregar desencadenador de evento JJ170348.671c69bb-32e9-4ef9-9837-29403524abd0(es-es,VS.120).png en el panel Desencadenadores. Aparecerá un nuevo desencadenador de eventos predeterminado en la lista para cuando se genere el evento Window.Loaded.

  8. Haga clic en la lista desplegable de objetos para cambiar la selección de Window al nombre del elemento multimedia. Por ejemplo, en la imagen anterior, el nombre del elemento multimedia es Wildlife_wmv.

    Sugerencia

    Si no ve el nombre del elemento multimedia, selecciónelo en el panel Objetos y escala de tiempo y vuelva a intentar este paso.

  9. Haga clic en la lista desplegable de métodos para cambiar la selección de Loaded a MouseEnter. El evento MouseEnter está en la categoría UIElement. Ahora, el desencadenador deberá mostrar Cuando se genera element.MouseEnter. Todavía no se ha creado ninguna acción.

    Sugerencia

    Si usa un archivo de audio en lugar de un archivo de vídeo, puede seleccionar el evento MouseEnter para el elemento multimedia que contiene el archivo de vídeo.Sin embargo, los usuarios no sabrán dónde mover el puntero porque el elemento multimedia no estará visible en la aplicación.Como alternativa, puede agregar un botón a la mesa de trabajo y crear un desencadenador para el evento Click del botón.

  10. Haga clic en Agregar nueva acción JJ170348.d02551d0-d56a-4ca3-9d5f-58fbc6bda0c3(es-es,VS.120).png junto a Cuando se genera element.MouseEnter. Aparecerá una acción predeterminada en la lista, que llama al método timeline.Begin.

  11. Dado que la escala de tiempo se inicia al cargarse la ventana, cambie el método a timeline.Pause. Ahora, la película se detendrá cuando el puntero se mueva sobre el área de visualización.

  12. Agregue otro desencadenador de eventos (JJ170348.671c69bb-32e9-4ef9-9837-29403524abd0(es-es,VS.120).png) y cámbielo para que sea Cuando se genera element.MouseLeave.

  13. Agregue una acción nueva (JJ170348.d02551d0-d56a-4ca3-9d5f-58fbc6bda0c3(es-es,VS.120).png) que llame al método timeline.Resume. Ahora, la película se seguirá reproduciendo cuando el puntero salga del área de visualización. Como alternativa, puede elegir detener y reiniciar la película en lugar de pausarla y reanudarla.

    Agregar las acciones y desencadenadores de eventos MouseEnter y MouseLeave para pausar y reanudar la película

    JJ170348.526e02a2-01a7-429f-88c4-d7532257c802(es-es,VS.120).png

  14. Para garantizar que el vídeo cambie de tamaño con la ventana, establezca las siguientes propiedades en el panel Propiedades:

    • En la sección avanzada de la categoría Multimedia en el panel Propiedades, establezca la propiedad Stretch del elemento multimedia en Uniform. Esta configuración conserva la relación de aspecto del área de visualización del vídeo.

    • En la categoría Diseño del panel Propiedades, establezca los valores de Width y Height del elemento multimedia en Auto. Esta configuración permite que el área de visualización del vídeo cambie de tamaño con la ventana de la aplicación. Si el área de visualización del vídeo no cambia de tamaño con la ventana de la aplicación, compruebe si el elemento multimedia está incluido en un objeto de panel con un tamaño específico.

  15. Pruebe la aplicación (F5). Vea el comportamiento del área de visualización de la película cuando mueve el puntero por la misma.