Muestra de Brightcove Player: Mostrar miniaturas al pasar el ratón

En este tema, aprenderá a mostrar un conjunto de cuatro imágenes en miniatura cuando el usuario pasa el mouse sobre Brightcove Player. Estas imágenes se toman en diferentes puntos del video para darle al usuario una idea de qué esperar en el video.

Ejemplo de jugador

Este ejemplo usa ModalDialog para mostrar cuatro imágenes en miniatura tomadas de varios puntos del video. Esto permite al usuario echar un vistazo a lo que hay en el video. ModalDialog solo se muestra antes de que comience la reproducción del video.

Ver la pluma Mostrar miniaturas flotando por Brightcove Learning Services ( bcls1969 ) en CodePen.

Código fuente

Ver el solución completa en GitHub.

Uso de CodePen

Estos son algunos consejos para utilizar eficazmente el CodePen anterior:

  • Cambie la visualización real del reproductor haciendo clic en el Result botón.
  • Haga clic en el HTML/CSS/JS botones para mostrar UNO de los tipos de código.
  • Más adelante, en este documento, la lógica, el flujo y el estilo utilizados en la aplicación se analizarán en la configuración de reproductor/HTML, Flujo de aplicaciones y Estilo de la aplicación. secciones. La mejor manera de seguir la información de estas secciones es:
    1. Haga clic en el EDIT ON CODEPEN en el CodePen y tenga el código disponible en un navegador / pestaña del navegador.
    2. En CodePen, ajusta el código que quieres que se muestre. Puede cambiar el ancho de las distintas secciones de código dentro de CodePen.
    3. Ver el Configuración de reproductor / HTML , Flujo de aplicación y / o Estilo de aplicación secciones en otra pestaña del navegador / navegador. Ahora podrá seguir las explicaciones del código y, al mismo tiempo, ver el código.

secuencia de desarrollo

Esta es la secuencia de desarrollo recomendada:

  1. Utilice la implementación del reproductor de incrustación en la página para probar la funcionalidad de su reproductor, complemento y CSS (si es necesario CSS)
  2. Coloque el JavaScript y CSS del plugin en archivos separados para pruebas locales
  3. Implementa el código del plugin y CSS en tu servidor una vez que hayas resuelto cualquier error.
  4. Usa Studio para agregar el plugin y CSS a tu reproductor
  5. Reemplace la implementación del reproductor de incrustación en página si determina que la implementación de iframe se ajusta mejor (se detalla en la siguiente sección)

Para obtener más información sobre estos pasos, consulte la sección Paso a paso: Guía de desarrollo de plugins.

iframe o incrustación en página

Al desarrollar mejoras para Brightcove Player, deberás decidir si el código se ajusta mejor a la implementación de iframe o incrustación en la página. La recomendación de práctica recomendada es crear un complemento para usarlo con una implementación de iframe. Las ventajas de utilizar el reproductor iframe son:

  • Sin colisiones con JavaScript y/o CSS existentes
  • Responde automáticamente
  • El iframe facilita el uso en aplicaciones de redes sociales (o siempre que el vídeo tenga que «viajar» a otras aplicaciones)

Aunque la integración del reproductor de incrustación en la página puede ser más compleja, hay ocasiones en que planificará el código en torno a esa implementación. Para generalizar, este enfoque es mejor cuando la página que contiene necesita comunicarse con el reproductor. En concreto, estos son algunos ejemplos:

  • El código de la página que contiene necesita escuchar y actuar en función de los eventos de los jugadores
  • El reproductor utiliza estilos de la página que lo contiene
  • El iframe hará que la lógica de la aplicación falle, como un redireccionamiento desde la página que contiene

Incluso si tu implementación final no utiliza el código iframe, puedes seguir usando el código de incrustación en la página con un plugin para tu JavaScript y un archivo separado para tu CSS. Esto encapsula tu lógica para que puedas utilizarla fácilmente en varios reproductores.

Recursos de API/plugins utilizados

Métodos API Eventos API Métodos de diálogo modal
addChild() inicio de carga open ()
el ()   close ()
jugar ()   disponer()

Algunas ventajas de utilizar el ModalDialog El componente incluye lo siguiente:

  • Cubre todo el reproductor de forma predeterminada
  • Dispone de métodos para abrir y cerrar fácilmente la ventana modal

Configuración de reproductor/HTML

En esta sección se detalla cualquier configuración especial necesaria durante la creación del reproductor. Además, se describen otros elementos HTML que deben agregarse a la página, más allá del código de implementación del reproductor de incrustación de la página.

Configuración del reproductor

No se requiere ninguna configuración especial para el reproductor de Brightcove que crea para este ejemplo.

Configuración de vídeo

Esta muestra utiliza una matriz de URL de imágenes en miniatura que se almacenan en el descripción larga campo. Luego accederemos a los metadatos del video actualmente cargado a través del información de los medios objeto. Alternativamente, puede crear un campo personalizado para almacenar la matriz de URL.

Aquí está la matriz de miniaturas agregada a la propiedad Descripción larga en Módulo multimedia de Video Cloud Studio:

Matriz de miniaturas
Matriz de miniaturas

Aquí está el código de matriz de miniaturas con el formato más agradable:

{
  "thumbs": [{
      "image": "https://player.support.brightcove.com/assets/images/code-samples/display-thumbnails-hover/thumb1.png"
    }, {
      "image": "https://player.support.brightcove.com/assets/images/code-samples/display-thumbnails-hover/thumb2.png"
    }, {
      "image": "https://player.support.brightcove.com/assets/images/code-samples/display-thumbnails-hover/thumb3.png"
    }, {
      "image": "https://player.support.brightcove.com/assets/images/code-samples/display-thumbnails-hover/thumb4.png"
  }]
}

Otros HTML

Recuerda añadir el id atributo a la video-js etiqueta en el código de inserción del reproductor.

<video-js id="myPlayerID"
...

Flujo de aplicaciones

La lógica básica detrás de esta aplicación es:

  • Obtén el elemento DOM del jugador.
  • Obtén la matriz de miniaturas.
  • Formatee el contenido superpuesto con las miniaturas para diferentes secciones dentro del contenido del video.
  • Muestre las miniaturas al colocar el cursor sobre el usuario.
  • Oculte las miniaturas cuando el usuario mueva el mouse.
  • Reproduzca el video cuando el usuario haga clic en las miniaturas ModalDialog.

Obtener el elemento DOM del jugador

Busque el código etiquetado:

// +++ Get the player DOM element +++

Obtén una referencia al elemento DOM del jugador. Usaremos esto para agregar ModalDialog al reproductor.

Obtener la matriz de miniaturas

Busque el código etiquetado:

// +++ Get the thumbnail array +++

Obtenga la matriz de URL en miniatura de la propiedad Descripción larga del video. Para obtener detalles sobre cómo agregar estos metadatos a su video, consulte la Configuración de video sección.

Dar formato al contenido de superposición

Busque el código etiquetado:

// +++ Format the overlay content +++

Para dar formato al contenido de superposición, haga lo siguiente:

  1. Obtenga las URL en miniatura del campo Descripción larga del video y agréguelas al contenido del diálogo modal.
  2. Configure y cree el diálogo modal.
  3. Agregue el cuadro de diálogo modal al reproductor.

Mostrar las miniaturas

Busque el código etiquetado:

// +++ Show the thumbnails +++

Escuche el mouseover evento en el reproductor. Cuando se activa, muestra el diálogo modal con las imágenes en miniatura de la sección de video.

Ocultar las miniaturas

Busque el código etiquetado:

// +++ Hide the thumbnails +++

Escuche el mouseout evento en el reproductor. Cuando se activa, oculta el diálogo modal con las imágenes en miniatura de la sección de video.

Reproducir el video

Busque el código etiquetado:

// +++ Play the video +++

Cuando se hace clic en la miniatura ModalDialog, elimine los oyentes de eventos, cierre y elimine el ModalDialog e inicie la reproducción de video.

Estilismo de aplicaciones

El CSS aplica estilo a las imágenes en miniatura de los videos en ModalDialog.

Código de plugin

Normalmente, al convertir JavaScript en un complemento de Brightcove Player, se necesitan cambios nominales. Un cambio necesario es reemplazar el uso estándar del ready() método por el código que define un complemento.

Aquí está el código de inicio a JavaScript muy utilizado que funcionará con el reproductor:

videojs.getPlayer('myPlayerID').ready(function() {
  var myPlayer = this;
  ...
});

Cambiarás la primera línea para usar la sintaxis estándar para iniciar un plugin de Brightcove Player:

videojs.registerPlugin('pluginName', function(options) {
  var myPlayer = this;
  ...
});

Como se mencionó anteriormente, puede ver el código JavaScript del complemento en el repositorio de GitHub correspondiente de este documento: thumbnail-hover.js.

Uso del complemento con un reproductor

Una vez que tengas los archivos CSS y JavaScript del plugin almacenados en una ubicación accesible a Internet, puedes usar el plugin con un reproductor. En Studio's JUGADORES módulo puedes elegir un jugador, luego en el PLUGINS sección agregue las URL a los archivos CSS y JavaScript, y también agregue el Nombre y Opciones , si se necesitan opciones.