Para mi plugin Youtube Channel Gallery he querido profundizar un poco en el funcionamiento de YouTube JavaScript Player API pero usando el player desde un iframe en lugar desde la API, ya que es así es como estoy usándolo en el plugin. Mi principal interés se centra en reproducir los controles del player de YouTube a través de la API para valorar la posibilidad de ofrecer una barra de controles personalizados manteniendo el uso del player de YouTube y usando las funciones de la API.
Primero, he creado un sencillo prototipo para mostrar el funcionamiento de algunas de las funciones básicas. En este ejemplo podemos ver que de forma sencilla cómo podemos controlar el funcionamiento del player desde controles creados en nuestra página.
A continuación, he creado un prototipo que recoge los diferentes herramientas de la barra de controles del reproductor de YouTube controlados a través de la API. Algunos aspectos que hay que tener en cuenta de la API de YouTube son:
- La función isMuted() no devuelve true si se ha puesto a 0 el sonido mediante el control de volumen, pero sí cambia el icono de sonido de los controles del player de YouTube a Muted.
- La función getDuration(), que devuelve el tiempo total del vídeo, y la función getCurrentTime(), que devuelve la posición de reproducción, no coinciden al llegar al final del vídeo.
- Las funciones getPlaybackQuality(), que devuelve la calidad con la que se va a reproducir el vídeo, y getAvailableQualityLevels, que devuelve los calidades en las que está disponible el vídeo, no ofrecen información hasta que no se inicia la reproducción del vídeo.
- Los controles Full screen y Watch later no disponen de funciones de acceso desde la API.