¿Cómo reproducir videos de YouTube en mi aplicación de Android?
Si necesita reproducir un video de youtube, el método YouTubeStandalonePlayer es la manera más simple y eficaz, se abre un reproductor de youtube independiente, el video por defecto se reproducirá en formato horizontal y pantalla completa, en caso de más personalización ojear la documentación oficial YouTubeStandalonePlayer
Prerequesitos
Se requiere tener instalado YouTube Android Player API para su descarga YouTube Android Player API – Download y poner el YouTubeAndroidPlayerApi.jar en app/libs
En build.gradle a nivel de aplicación importar la libreria con
implementation files('libs/YouTubeAndroidPlayerApi.jar')
Antes de utilizar la API de Android Youtube, debe obtener la DEVELOPER KEY, para eso en la Consola de desarrolladores de Google, asegúrese de habilitar la API de datos de YouTube v3 en un proyecto existente o bien generar un nuevo proyecto..
Reproducir un video de youtube
Los videos de youtube tiene un identificador de visualización, es necesario extraer el identificador, en la url de youtube al pulsar un video añade un parametro v que es su ID
https://www.youtube.com/watch?v=fhWaJi1Hsfo
fhWaJi1Hsfo corresponde el ID del siguiente vídeo
Abrir el reproductor de youtube independiente
Ahora desde Kotlin creamos un intent de YouTueStandalonePlayer le asignamos DEVELOPER KEY y el ID de video y lo lanzamos RickRoll’D
val intent = YouTubeStandalonePlayer.createVideoIntent(requireActivity(), DEVELOPER_KEY, "oHg5SJYRHA0")
startActivity(intent)
Para más información consultar la documentación oficial de YouTubeStandalonePlayer
Función openYoutubeStandAlonePlayer()
He creado la siguiente función que permite algunos parámetros de configuración del YoutubeStandalonePlayer, como es el caso de autoreproducción al abrir el vídeo y si se quiere que se muestre en horizontal a pantalla completa o bien en forma de diálogo
fun openYoutubeStandAlonePlayer(VideoID: String, autoplay: Boolean = false, lightMode: Boolean = false) {
val intent = YouTubeStandalonePlayer.createVideoIntent(
requireActivity(),
MyConstants.DEVLOPER_KEY, //Developer Api Key
VideoID,
0, //startIndex
autoplay,
lightMode
)
startActivity(intent)
}
Su uso
openYoutubeStandAlonePlayer("oHg5SJYRHA0")
openYoutubeStandAlonePlayer("oHg5SJYRHA0",true) //El video se auto reproducirá
openYoutubeStandAlonePlayer("oHg5SJYRHA0",false,true) //El vídeo se muestra en forma de diálogo sin auto reproducción