En este documento se proporciona información de referencia del API del reproductor ActionScript 2.0 de YouTube.
El API ActionScript 2.0 permite a los usuarios controlar los reproductores de vídeo de YouTube mediante la carga del reproductor en una aplicación Flash y la ejecución de llamadas a través de ActionScript al API pública del reproductor. Las llamadas se pueden realizar para reproducir, detener, buscar un determinado momento de un vídeo, ajustar el volumen, silenciar el reproductor y otras muchas funciones útiles. El API ActionScript se activa automáticamente al cargar el reproductor en otro SWF.
El usuario final debe tener instalado Flash Player 8 o superior para una correcta visualización.
El API ActionScript es el mismo que el API de JavaScript, con algunos pequeños cambios relacionados con la forma en que se inicializa el reproductor. Para obtener una lista de las llamadas disponibles del API, consulta la documentación del API de JavaScript. Para obtener ejemplos de cómo inicializar y ejecutar llamadas al reproductor a través de ActionScript, consulte los ejemplos que aparecen a continuación.
A continuación se indican las llamadas específicas del API ActionScript:
player.isPlayerLoaded():Booleanplayer.addEventListener(event:String, handler:Function)Debido a la arquitectura del SWF del reproductor, el uso de la clase MovieClipLoader integrada en ActionScript no te proporcionará una información precisa. Para detectar el momento en el que el SWF del reproductor está listo para recibir llamadas del API, deberás ejecutar player.isPlayerLoaded(), que devolverá el valor true cuando el reproductor esté completamente cargado e inicializado.
En este punto, puedes suscribirte a eventos y hacer que cualquier otra API llame al reproductor.
En este ejemplo, esperamos a que el SWF del reproductor se cargue mediante el evento onLoadInit de MovieClipLoader y que, a continuación, comience un intervalo para comprobar el momento de inicialización del SWF del reproductor.
ytPlayerLoaderListener = {};
var loadInterval:Number;
ytPlayerLoaderListener.onLoadInit = function() {
loadInterval = setInterval(checkPlayerLoaded, 250);
}
function checkPlayerLoaded():Void {
if (ytplayer.isPlayerLoaded()) {
ytplayer.addEventListener("onStateChange", onPlayerStateChange);
ytplayer.addEventListener("onError", onPlayerError);
loadIndicator._visible = false;
clearInterval(loadInterval);
}
}
function onPlayerStateChange(newState:Number) {
trace("New player state: "+ newState);
}
function onPlayerError(errorCode:Number) {
trace("An error occurred: "+ errorCode);
}
ytPlayerLoader = new MovieClipLoader();
ytPlayerLoader.addListener(ytPlayerLoaderListener);
ytPlayerLoader.loadClip("http://www.youtube.com/v/VIDEO_ID", ytplayer);
Una vez que el reproductor esté cargado y listo, todas las llamadas del API se podrán ejecutar del mismo modo que el API de JavaScript.
Al cargar varios SWFs de reproductor (incluida la carga de un nuevo SWF de reproductor en lugar de un reproductor anterior), deberás cargar el reproductor en un objeto MovieClip con un nombre distinto al de los reproductores anteriores. Por ejemplo, si has cargado un vídeo en _root.youtubeplayer, al cargar un nuevo reproductor, deberás utilizar algo como _root.youtubeplayer2, y así sucesivamente.
Al descargar un reproductor de YouTube, deberás ejecutar siempre stopVideo() en primer lugar. Esta acción cerrará el objeto NetStream y evitará que continúe la descarga del vídeo una vez que el reproductor se haya descargado.