Flvplayer+xml+txt dynamique+tilelist+uiloader

Soyez le premier à donner votre avis sur cette source.

Vue 9 294 fois - Téléchargée 1 215 fois

Description

flvplayer+xml+txt dynamique+tilelist+uiloader

le voilà enfin, le player avec le xml externe, et d'autres composants, on ne s'attardera pas sur le graphisme!! mais sur le contenu, enfin voilà!! a vous de jouer, esperant ainsi repondre a vos attentes...
Pour etre sûr de le voir fonctionner utilisez votre serveur local(wamp ou easyphp ou autre!)

Source / Exemple :


import fl.video.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.NetStatusEvent;
import fl.controls.UIScrollBar;
import fl.controls.*;
import fl.events.ListEvent;
import fl.data.*;
//-------------le player----------------------
var vid = new FLVPlayback();
vid.x = 10;
vid.y =205;
vid.width=180;
vid.height= 135;
addChild(vid);
//////////////////////////////////////////////////////////
//-----------le xml---------------------------------
//les variables pour le xml:
var xml:XML;
var videosXML:XMLList;
var getvideo:URLRequest;
var pos:Number;
var currentIndex:Number = 0;
var currentvideo:FLVPlayback = vid;
//chargement du xml--------------
var uldr = new URLLoader();
uldr.addEventListener(Event.COMPLETE, xmlComplet);
uldr.load(new URLRequest('playlist.xml'));

//creation et lecture xml executée 
//lorsque la playlist.xml est bien chargé
function xmlComplet(event:Event):void 
	{
			xml = new XML(event.target.data);
			videosXML = xml.videos;
			getvideo=new URLRequest(videosXML[currentIndex].url);
//on indique au txt et au player quelle source ils devront utiliser
//au demarrage de l'animation (videosXML, index[0]et la balise qui leur est destinée) 
			vid.source= videosXML[currentIndex].url;
			txt.text = videosXML[currentIndex].titre;
			synopsis.text= videosXML[currentIndex].histoire;
			jacquette.source=videosXML[currentIndex].image;
			
	scrollb.update();
//--------------------Fonction video suivante-------------------------
// enchaine la video suivante
vid.addEventListener(Event.COMPLETE, video_suivante);
function video_suivante(e:Event):void
{
	if (currentIndex < (videosXML.length() - 1))
	{
		currentIndex++;
	}
	else
	{
		currentIndex = currentIndex;
	}
		var suivantReq:URLRequest = new URLRequest(videosXML[currentIndex].url);
		vid.source=videosXML[currentIndex].url;
		txt.text = videosXML[currentIndex].titre;
		synopsis.text= videosXML[currentIndex].histoire;
		jacquette.source=videosXML[currentIndex].image;
}
/////////////////////////////////////////////////////////////
// là, on rajoute la list et son data provider
var provider:DataProvider =new DataProvider(xml);
	
	var list:List = new List();
		list.dataProvider=provider;
		list.allowMultipleSelection=false;
		list.rowHeight=20;
		list.width= 300;
		list.rowCount=3;
		list.x=5;
		list.y=140;
//ici le label de la list(ce que l'on lira dedans)
		list.labelFunction = listexml;
	function listexml(obj:Object):String 
{
    return obj.titre;
}

		addChild(list);

//----------FIN  LIST---------------------------------------
////////////////////////////////////////////////////////////
//--------fonction de la LIST -------------------------------
//par CLICK
list.addEventListener(ListEvent.ITEM_CLICK ,select);
function select(evt:ListEvent):void
	{		videosXML = xml.videos;
			getvideo=new URLRequest(videosXML[currentIndex].url);
			var currentIndex:Number = list.selectedIndex;
			vid.source=videosXML[currentIndex].url;
			txt.text = videosXML[currentIndex].titre;
			synopsis.text= videosXML[currentIndex].histoire;
			jacquette.source=videosXML[currentIndex].image;
	
			scrollb.update();	
	}

///////////////////////////////////////////////////////////
// avec 'trace' on verifie que notre xml se charge bien
			trace(videosXML.url)
	}

//-------------------fin du xml-------------------------------
////////////////////////////////////////////////////////////////
//---------les commandes du player---------------------------
// on attache les boutons avec le player
vid.volumeBar= vol;
vid.fullScreenButton= full;
vid.fullScreenTakeOver = true;
vid.playButton= butplay;
vid.pauseButton=butpause;
vid.stopButton=butstop;
vid.muteButton= mute;
// on attache la barre de buffer et celle du seekbar au player
vid.bufferingBar=buffer;
vid.seekBar=seekb;
butplay.visible=false;
butpause.visible=true;

//comportement des boutons play pause stop
butplay.addEventListener(MouseEvent.CLICK, jouer);
function jouer(event:MouseEvent):void
 { 	butplay.visible=false;
 	butpause.visible=true;
}
butpause.addEventListener(MouseEvent.CLICK, pauses);
function pauses(event:MouseEvent):void
 { 	butplay.visible=true;
 	butpause.visible=false;
}
butstop.addEventListener(MouseEvent.CLICK, arret);
function arret(event:MouseEvent):void
 { 	butplay.visible=true;
 	butpause.visible=false;
}
//---------Avant  Apres----------------
avant.addEventListener(MouseEvent.CLICK, vidprec); 
apres.addEventListener(MouseEvent.CLICK, vidsuiv);
//--pour aller a la video suivante---------
function vidsuiv(e:Event):void
	{	
//si currentIndex plus petit que la longueur du xml -1(pour etre avant la derniere video du xml)
	if (currentIndex < (videosXML.length() - 1))
	{	// donc currentIndex s'incrémente de 1
		currentIndex++;
	}
	else
	{	//sinon currentIndex revient a la premiere video du xml
		currentIndex = 0;
	}

	var suivReq:URLRequest = new URLRequest(videosXML[currentIndex].url);
	vid.source=videosXML[currentIndex].url;
	txt.text = videosXML[currentIndex].titre;
	synopsis.text= videosXML[currentIndex].histoire;
	jacquette.source=videosXML[currentIndex].image;
	
	scrollb.update();
	//--------------------Fonction video suivante-------------------------
// enchaine la video suivante
vid.addEventListener(Event.COMPLETE, video_suivante);
function video_suivante(e:Event):void
{
	if (currentIndex < (videosXML.length() - 1))
	{
		currentIndex++;
	}
	else
	{
		currentIndex = currentIndex;
	}
		var suivantReq:URLRequest = new URLRequest(videosXML[currentIndex].url);
		vid.source=videosXML[currentIndex].url;
		txt.text = videosXML[currentIndex].titre;
		synopsis.text= videosXML[currentIndex].histoire;
		jacquette.source=videosXML[currentIndex].image;
}
/////////////////////////////////////////////////////////////
}
//--pour aller a la video precedente---------
function vidprec(e:Event):void
{
	if (currentIndex > 0)
	{
		currentIndex--;
	}
	else
	{
		currentIndex = videosXML.length() - 1;
	}

		
	var precReq:URLRequest = new URLRequest(videosXML[currentIndex].url);
	vid.source=videosXML[currentIndex].url;
	txt.text = videosXML[currentIndex].titre;
	synopsis.text= videosXML[currentIndex].histoire;
	jacquette.source=videosXML[currentIndex].image;
	
	scrollb.update();
//--------------------Fonction video suivante-------------------------
// enchaine la video suivante
vid.addEventListener(Event.COMPLETE, video_suivante);
function video_suivante(e:Event):void
{
	if (currentIndex < (videosXML.length() - 1))
	{
		currentIndex++;
	}
	else
	{
		currentIndex = currentIndex;
	}
		var suivantReq:URLRequest = new URLRequest(videosXML[currentIndex].url);
		vid.source=videosXML[currentIndex].url;
		txt.text = videosXML[currentIndex].titre;
		synopsis.text= videosXML[currentIndex].histoire;
		jacquette.source=videosXML[currentIndex].image;
}
/////////////////////////////////////////////////////////////
}
//------------Fin des commandes du player------------------

////////////////////////////////////////////////////////////
//-----------le texte synopsis et son scroll--------------
//appeler la scrollbar qui est dans la librairie
var scrollb:UIScrollBar = new UIScrollBar();
addChild(scrollb);

// cibler le champs de texte.
scrollb.scrollTarget = synopsis;

// adapter la scrollbar a la taille du text
scrollb.setSize(16, synopsis.height); 

// deplacement du text dans le champs de texte.
scrollb.move(synopsis.x + synopsis.width, synopsis.y);

	
vid.addEventListener(Event.COMPLETE, completeHandler);

function completeHandler(event:Event):void {
	synopsis.text = videosXML[currentIndex].histoire;
	scrollb.update();
}

Conclusion :


Beh eclatez-vous , vous avez dorenavant la possibilité d'utiliser le xml ainsi que les objet video!!
Bonne prog a tous!

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

novaflash
Messages postés
65
Date d'inscription
mardi 4 mai 2004
Statut
Membre
Dernière intervention
5 avril 2009

optimisation : fichier/sauver et compresser 1.6Mo -> 0.9Mo ;)
novaflash
Messages postés
65
Date d'inscription
mardi 4 mai 2004
Statut
Membre
Dernière intervention
5 avril 2009

ps: pas voulu donner de note, je ne sais pas ce que j'ai fait mais en tout cas je ne sais pas comment corriger.
jeuko
Messages postés
2
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
4 décembre 2009

Terrible extra superb merci bien pour ce partage !!
jeuko
Messages postés
2
Date d'inscription
mercredi 26 avril 2006
Statut
Membre
Dernière intervention
4 décembre 2009

pour la note ^^
tranber78
Messages postés
40
Date d'inscription
mercredi 5 juillet 2006
Statut
Membre
Dernière intervention
11 janvier 2010

merci les gars!! j'espere que ça vous ira!!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.