Soyez le premier à donner votre avis sur cette source.
Vue 9 590 fois - Téléchargée 1 253 fois
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(); }
8 avril 2011 à 21:11
Merci en tout cas de ton temps de réponse ultra court !
En exportant en local, tout plante, en réseaux, c'est juste la liaison avec le xml qui ne fonctionne pas.
J'ai fait un système de quizz aujourd'hui (toujours avec du xml), et là, pareille, le module est lancé mais pas le xml. J'ai vérifié, en lançant une simple vidéo avec un système de flux, sa passe, donc c'est pas mon navigateur qu'est complétement fou, c'est mon xml.
C'est étrange que personne n'est jamais eu ce problème, j'ai cherché sur internet, et rien, nada !
Je dois vraiment être nul si je suis le seul être vivant qui ne peut pas lancer un player xml depuis firefox ...
Je trouverai bien une solution et si jamais c'est pas le cas, je tricherai un peu pour avoir une playlist sans xml !
Bonne soirée et bon week-end
8 avril 2011 à 18:28
si ce n'est pas à cause de ça, revoit le chemin de ton xml, ainsi que les urls entrées dans le xml lui-même.
j'espère t'avoir répondu!!
à plus!
8 avril 2011 à 11:53
Désolée de relancer la question qui a été évoqué par aslog, mais personnellement, j'ai un petit problème quand j'exécute le .swf depuis mon navigateur (j'utilise Mozilla et j'ai aussi essayer avec Explorer au cas ou); le player s'exécute, mais pas la playlist. A noté que j'ai retouché le code, adapter le xml qui ne viens plus chercher les sources depuis internet mais depuis un dossier vidéo dédié, mais cela ne change pas le problème car l'exécution de ton .swf présente lui aussi ce problème.
Je suis allé sur ton site et tu ne semble pas avoir ce problème, ce que je ne comprend pas ><* !
En gros, je crois juste que le xml n'est pas reconnu. C'est tout !
Quelqu'un aurait-il une idée d'ou peut venir le problème ?
Merci.
Cordialement, Kuroma.
PS : j'ai essayer d'appeler le .swf depuis une page html aussi mais bien évidement, même problème (faut pas rêver !).
9 déc. 2010 à 13:21
à bientôt sur http://ini-media.net !
9 déc. 2010 à 13:19
pour la List, elle n'est pas sur un calque, elle se trouve dans le code a partir de la ligne: 70
tu peux modifier ses coordonnées en x et y lignes 76 et 77
list.x=5;
list.y=140;
voili, voilou!! bonne prog!!
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.