2009-04-25 9 views
0

Je travaille sur une application web flash (Actionscript 2.0) pour mon projet de spécialisation, mais j'ai du mal à intégrer des vidéos youtube. Fondamentalement, l'utilisateur sélectionne des symboles qui interrogent l'api youtube avec certaines étiquettes en fonction des symboles choisis et une vidéo aléatoire est ensuite sélectionnée parmi les 30 premières vidéos. J'ai ceci fonctionnant en utilisant le code suivant:Passer un identifiant vidéo youtube du flux vidéo au flash

on (release) { 
url="http://gdata.youtube.com/feeds/api/videos?q=danger+passion&orderby=published&start-index="+random(30)+"&max-results=1&v=2" 
getURL(url); 
} 

mais ceci juste affiche une page Web avec un lien à la vidéo de youtube.

C'est le code que je vais utiliser les bases du joueur:

// create a MovieClip to load the player into 
var ytplayer:MovieClip = _root.createEmptyMovieClip("ytplayer", 1); 

// create a listener object for the MovieClipLoader to use 
var ytPlayerLoaderListener:Object = { 
onLoadInit: function() { 
// When the player clip first loads, we start an interval to 
// check for when the player is ready 
loadInterval = setInterval(checkPlayerLoaded, 250); 
} 
}; 

var loadInterval:Number; 


function checkPlayerLoaded():Void { 
// once the player is ready, we can subscribe to events, or in the case of 
// the chromeless player, we could load videos 
if (ytplayer.isPlayerLoaded()) { 
ytplayer.addEventListener("onStateChange", onPlayerStateChange); 
ytplayer.addEventListener("onError", onPlayerError); 
clearInterval(loadInterval); 
} 
} 

function onPlayerStateChange(newState:Number) { 
trace("New player state: "+ newState); 
} 

function onPlayerError(errorCode:Number) { 
trace("An error occurred: "+ errorCode); 
} 

// create a MovieClipLoader to handle the loading of the player 
var ytPlayerLoader:MovieClipLoader = new MovieClipLoader(); 
ytPlayerLoader.addListener(ytPlayerLoaderListener); 

// load the player 
ytPlayerLoader.loadClip("http://www.youtube.com/v/pv5zWaTEVkI", ytplayer); 

quelqu'un peut me aider sur la façon d'obtenir l'ID de la vidéo (par exemple: pv5zWaTEVkI) de l'alimentation? Ou comment envoyer une requête depuis flash qui retournera l'URL/ID de la vidéo par opposition à l'URL d'un flux. Toute aide serait très appréciée car ma main arriverait assez vite. Merci

Répondre

1

Ce que vous obtenez est pas une page Web, mais un RSS feed.

Si vous voulez juste l'ID vidéo sur youtube, vous pouvez diviser la chaîne que vous obtenez par watch?v= et la chaîne vidéo doit par les premiers caractères jusqu'à un '(virgule)

href='http://www.youtube.com/watch?v=aFyfbcZqdck' /><link 

Vous pouvez pratiquer en séparant cette chaîne.

+0

Merci d'avoir répondu si rapidement. Je comprends un peu ce que vous voulez dire, mais c'est en premier lieu que l'URL de la vidéo transmise par le flux RSS est flashée. Ensuite, je peux extraire l'identifiant de la vidéo. –

+0

Vous pouvez utiliser LoadVars dans actionscript pour charger le code HTML dans une chaîne. Et puis analyser. –

+0

Fantastique élaboré. Totalement ne savais pas que vous pourriez charger le code HTML entier d'une page Web dans une chaîne. Géré pour utiliser String.split pour extraire l'identifiant vidéo. Merci beaucoup pour votre aide. –

Questions connexes