begin process at 2012 05 26 05:53:48
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Multimedia

 > FLVPLAYER+XML+TXT DYNAMIQUE+TILELIST+UILOADER

FLVPLAYER+XML+TXT DYNAMIQUE+TILELIST+UILOADER


 Information sur la source

Note :
7,13 / 10 - par 8 personnes
7,13 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Multimedia Classé sous :flvplayer, playlist xml, video, tilelist Niveau :Initié Date de création :03/12/2009 Vu / téléchargé :7 479 / 1 062

Auteur : tranber78

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (39)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
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

  • 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();
  • }
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!

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • playlist.xmlTélécharger ce fichier [Réservé aux membres club]Voir ce fichier14 010 octets
  • suite+xml.flaTélécharger ce fichier [Réservé aux membres club]1 619 456 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture FLVPLAYBACK+CAPTIONNING(SOUS-TITRES)+TIMED TEXT XML+FULLSCRE...
Source avec Zip POINTEUR PERSO AS3
Source avec Zip CHARGER SON EXTERNE FLASH AS
Source avec Zip START DRAG ET STOP DRAG FLASH AS3
Source avec Zip ENCHAINEMENT FLV SANS XML PAR BOUTON AVEC FULLSCREEN+FLVPLAY...

 Sources de la même categorie

CLASS BASS par Duke49
CLASS AUDIO (MCI WAV MMIO) par Duke49
Source avec Zip SYNTHÈSE VOCALE SAPI5 par a1l2i3z4e5e
Source avec Zip MON LECTEUR MP3 par kentharold
Source avec Zip Source avec une capture LECTEUR MULTIMÉDIA par lartiguef

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture PLAYER DE FICHIER FLV ASSEZ SYMPATHIQUE par maxouye
Source avec Zip LECTEUR FLASH + XML par darkiron
Source avec Zip ENCHAINEMENT FLV SANS XML PAR BOUTON AVEC FULLSCREEN+FLVPLAY... par tranber78
Source avec Zip MULTIVIDEO PLAYER EN FLV (FLASH) par lamabaveu
Source avec Zip 3 VIDÉOS AVEC LE MEME BOUTON PLAY par fouiki

Commentaires et avis

Commentaire de novaflash le 04/12/2009 10:44:01 1/10

optimisation : fichier/sauver et compresser 1.6Mo -> 0.9Mo ;)


Commentaire de novaflash le 04/12/2009 10:47:46

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.

Commentaire de jeuko le 04/12/2009 12:26:48

Terrible extra superb merci bien pour ce partage !!

Commentaire de jeuko le 04/12/2009 12:30:45 10/10

pour la note ^^

Commentaire de tranber78 le 04/12/2009 18:26:45

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

Commentaire de Alain Proviste le 04/12/2009 19:51:25 administrateur CS

Je n'y connais pas grand chose en flash, donc désolé si ma question manque de pertinence. Est-il "facilement" possible de faire évoluer ce code pour que le texte dynamique soit corrélé à l'avancée de la vidéo, typiquement pour y mettre des sous-titres à l'extérieur de la vidéo ?

Commentaire de tranber78 le 04/12/2009 22:38:23

Salut Alain Proviste , beh pour te repondre ,j'prefere te  dire qu'il vaut mieux encoder ta video avec les sous titre directement, ça devrait etre possible  avec les cue point mais que pour une video a la fois!! donc envisages une autre methode!

Commentaire de Alain Proviste le 04/12/2009 22:55:44 administrateur CS

merci

Commentaire de JacK Barron le 07/12/2009 10:09:32

Le composant FLVPlayer supporte désormais les subs.

The ActionScript 3 version of the FLVPlayback components includes the new FLVPlaybackCaptioning component. The FLVPlaybackCaptioning component provides an easy way to include captioning content for accessibility or standard text captioning uses.

http://www.adobe.com/devnet/flash/learning_guide/video/part05.html

Commentaire de watachi le 25/12/2009 21:30:00

Bonsoir,
Excusez moi, je suis novice, donc, connais rien. Pouvez-vous me dire comment je fais pour installer un lecteur flash sur mon site? je travaille pour le moment en local (prudence est mère de sureté).
En fait, il me faut un truc bien expliqué.

Mille mercis.

Commentaire de JacK Barron le 25/12/2009 21:49:21

Insère l'anim flash via Dreamweaver si tu l'as. Il devrait te pondre un joli code HTML pour faire apparaître ton anim' flash.

Sinon, un tour sur le site d'Adobe, un "Affichage >> voir source" dans ton browser ou un Google sur la question te donneras un/des codes/s à utiliser pour l'insertion...

tu peux aussi exporter depuis flash en swf+html, regarder le code html et te débrouiller pour le copier-coller dans la page html qui devra abriter ton anim' flash...

Commentaire de Crogiat le 05/01/2010 23:26:07 9/10

Très intéressant... Je suis en train d'explorer tout ça.
Pas de problème avec un fichier flv, mais avec un f4v ça coince...
Que faire ?
Merci

Commentaire de aslog le 06/01/2010 11:01:18

Bonjour,
Bravo c'est très clair et bien structuré. La lecture d'un fichier XML et la modificaation du contenu de l'occurence courante est simple mais à ce jour je n'ai rien trouvé sur l'enregistrement de cette occurence dans un fichier externe (via un script PHP par exemple sur le serveur. Si quelqu'un a une idée opérationnelle sur le sujet elle rendrait service à priori à de nombreux "flashmen" confontés à une mise à jour dynamique (et non à la "pogne") des fichiers XML en exploitaion sur serveur. AS log et de coeur aussi.

Commentaire de tranber78 le 06/01/2010 12:25:56

bonjour a tous et meilleurs voeux!!
pour répondre a aslog,
il est tout a fait faisable de créer un php qui te liste ton répertoire vidéo et ainsi lui faire écrire un xml!!
voilà un exemple mais il n'y a que les url des videos!!!

#ATTENTION!!! ce script ne distingue pas les extensions, il liste tout!

#creation du header du fichier xml
header("Content-Type: text/xml");
$xml = '<?xml version="1.0" encoding="utf-8" ?>';
$xml .= '<videos>';


#maintenant on lit le repertoire et on organise les balises du xml
#changer l'url de votre repertoire!!
$dossier = opendir("flv");


while($listage = readdir($dossier) )
  {
  if ($listage[0] != "." && $listage[0] != ".." && !is_dir($listage) )
    {  #nommer les balises comme bon vous semble
    $xml .= '<item>';
    $xml .= '<video_url>'.$listage.'</video_url>';
    $xml .= '</item>';
    }
  }
  
#on ferme le repertoire et la derniere balise du xml
closedir($dossier);
$xml .= '</videos>';

#on edite le xml dans le navigateur pour voir la syntaxe

echo $xml;

#maintenant on creer le fichier xml, on pointe au debut du fichier
#et si il est deja ecrit, on le vide.
#il faut que votre fichier xml soit en chmod 755
$liste=fopen("flv.xml","w+");
fwrite($liste, $xml);
fclose($liste)
?>


beh en esperant t'avoir repondu!!
mais il n'y aura pas la miniature et le synopsis!!
mais voilà deja la base du script pour lister le rep et genere le xml par php!

Commentaire de tranber78 le 06/01/2010 12:31:43

PS: change les balises en fonction de celle du script flash!! et le repertoire aussi!!

Commentaire de aslog le 06/01/2010 15:39:14 9/10

Rebonjour,

Je me suis mal expliqué et/ou mal fait comprendre..
OK pour ton code mais je posai un Pb plus général, connexe à to super développement, car tu connais visiblement bien la programmation AS3.
Le pb posé porte :
- sur l'envoi par du code AS3 ( à une URL de script PHP : dans l'illustration exemple ci-dessous requetePHP.php) d'une instance XML (d'un fichier existant préalablement,  chargé  en AS3 suivi de modifications, toujours en AS3,  d'un certain nombre de ses attributs). L'envoi utilise
- la récupération de cet envoi (une chaine de caractères XML) par le script qui met à jour (enregistre avec écrasement)  le fichier natif XML modifié.

Illustration :

Dans ce qui suit :
- le fichier existant dont une instance va  être chargée a pour nom : fichierXML.xml (le code de chargement n'est pas rappelé ici : on suppose donc de disposer d'une instance de ce fichier)
- fichierXML : l'instance XML

I- code flash

// conversion de type dans l'espoir de récupérer sous la forme d'une chaine le contenu //complet de l'instance fichierXML

     var fichier1:String;
      fichier1=fichierXML.toXMLString();

// déclaration d'une URLvariables et d'une URLRequest (serveur PHP sur poste développeur
// NB :  « variables »  déclarée ci-dessous  peut  « encapsuler » plusieurs paramètres à //transmettre :  variables.monNom, variables.DateDuJour .etc et dans le cas qui nous //intéresse « une copie » (conversion de type que je cherche a faire) de l'instance
// « fichierXML » sous la forme d'une chaîne dénommée « fichier » :

   var variables:URLVariables= new URLVariables;
   variables.fichier = fichier1;
   var requete:URLRequest = new URLRequest ("http://127.0.0.1/maquette/essaisXML/requetePHP.php");
   requete.method = URLRequestMethod.POST;
   requete.data = variables;
  
// demande d'ouverture de la page PHP (requetePHP.php) dans une nouvelle fenêtre

   navigateToURL (requete);

II - code PHP (requetePHP.php):
<?php
$fichier = $_POST["fichier"];

echo($fichier);  // pas terrible comme résultat

// echo (utf8_decode($fichier));  // Bof ! en dehors des caractères accentués rein de nouveau coté //balises

// on enregistre ensuite sur le disque  (cf code de tranber78 . )
?>

Résultat : la page PHP s'ouvre bien avec un  contenu  "anarchique" (balises  XML supprimés, etc .). Autrement dit la procédure que je viens d'exposer n'est pas valable.  
Il est a remarquer que les auteurs que je trouve au demeurant excellents (Thibault Imbert dans son ouvrage «Pratique d' ActionScript3 » et David Tardiveau  dans « Action Script3 » ne traite pas  concrètement de ce Pb.  La question du chargement d'un fichier XML sous AS3 et de la lecture des attributs est abordé correctement (c'est en réalité assez simple) mais silence radio sur la mise à jour du dit fichier (enregistrement des modifs d'attributs effectuées).  Une piste a regarder serait peut-être le recours aux Flashvars (communication via du javaScript ?)  et /ou de « sombres » méthodes de l'API ExternalInterface ? . Personnellement je ne touche pas assez ma bille en AS3 pour rentrer dans cet univers à priori pointu.

A+ AS ... sur le carreau








Commentaire de cgo372 le 14/02/2010 12:09:30 8/10

Bonjour!

Il est très bien ton fichier flash, mais j'ai une question car je ne m'y connais pas beaucoup en flash, comment fait-on pour que les videos ne demarrent pas automatiquement. J'ai décoché jouer automatiquement dans les propriétés de Flash dans Dreamweaver, mais la video part tout de même automatiquement, alors je me dit que le code doit être dans "actionscript de flash" (code ci-dessus donc), mais je suis en train de m'esquinter les yeux a force de chercher le code qui fait que, en vain, donc si vous pouviez m'aider ce serait trop cool.
Merci d'avance

Commentaire de tranber78 le 14/02/2010 15:02:01

hello cgo372, voilà, il te suffit d'ajouter une propriété autoPlay=true ou false  au player
comme cela:

//-------------le player----------------------
var vid = new FLVPlayback();
vid.x = 10;
vid.y =205;
vid.width=180;
vid.height= 135;

vid.autoPlay=false;//ou true pour le demarrage auto!!

addChild(vid);

bonne prog!!
//////////////////////////////////////////////////////////

Commentaire de cgo372 le 14/02/2010 16:45:56

Merci Tranber78 pour ta réponse, mais, après avoir essayé, rien ne se charge, la barre de chrgement fonctionne mais les textes n'apparaissent pas.N'y a t'il pas un moyen pour que tout se charge mais que l'ecran video reste noir, jusqu'a ce que l'on appuie sur un onglet de la playlist?
Encore merci pour ton aide.

Commentaire de cgo372 le 14/02/2010 19:44:39

J'ai trouvé ! c'est vid.pause qu'il faut ecrire...
En tous cas, merci encore, très bon fichier flash!

Commentaire de ebn75019 le 21/02/2010 17:01:04 6/10

Génial ce code et merci pour le partage.
J'aurais juste une question, comment pourrais je modifier la couleur de la police utilisé pour la liste ?
Etant débutant en AS3, j'ai un peu de mal...
Merci d'avance pour ta réponse

Commentaire de tranber78 le 22/02/2010 14:44:34

Hello ebn75019, alors il te suffit de rajouter un textformat du style:

var tf:TextFormat = new TextFormat();

//parametre de  textFormat font, color, and size, bold
tf.font = "Verdana";
tf.bold = true;
tf.color = 0x990000;
tf.size = 16;

ensuite là où l'on crée la List avant le addchild(list); par exemple
on rajoute le renderstyle pour le la list:

list.setRendererStyle("textFormat", tf);

j'espère d'avoir répondu clairement, a bientôt , bonne prog!

Commentaire de beha33300 le 12/03/2010 16:29:52

bonjour tranber78 ,

bien contente de profiter de ton tuto que tu as genereusement mis a la disposition de tous.
je l'ai integré dans mon projet flash mais qd je charge le SWF, je me retrouve avec les erreurs suivantes :

"1172: La définition fl.video est introuvable //////// import fl.video.*;"
+
"1046: Ce type est introuvable ou n'est pas une constante de compilation : FLVPlayback //////// var currentvideo:FLVPlayback = vid;"

+
"1180: Appel à une méthode qui ne semble pas définie, FLVPlayback //////// var vid = new FLVPlayback();"

pourrais tu m'aider? j'ai cherché mais je ne m'en sors pas ! un petit coup de pouce me sortirait la tete de l'eau !:-) !! tout du moins le bout du nez !!

merci

Commentaire de ebn75019 le 12/03/2010 16:45:04

Ouppss, excuse moi pour le retour un peu tardif... Et merci pour le textformat, ça fonctionne parfaitement...

Encore merci pour le partage et à bientôt

Commentaire de tranber78 le 12/03/2010 19:01:24

Salut beha33300  ,vérifie bien tes import en début de programme et vérifie que tu as bien nommer l'occurence de flvplayback, esperant t'avoir répondu...

Commentaire de tranber78 le 12/03/2010 19:03:22

Re !! beha33300  , as-tu glisser depuis le panneaux composant un flvplayback dans ta bibliotheque?

Commentaire de beha33300 le 26/03/2010 20:07:35

merci tranber78 pour ton aide.
effectivement il s'agissait bien du composant flvplayback que j'avais oublié d'integrer dans la bibliotheque !!

Commentaire de beha33300 le 04/04/2010 18:09:46 5/10

bonjour tranber78,
je reviens vers toi pour une autre option a ton tuto !
et si je souhaite integrer dans le XML des videos de vimeo/youtube...
j'ai cherché sur d'autres forums, et les codes que j'ai trouvés ne permettent d'avancer.
aurais tu une solution a mon probleme?
merci pour ton aide.
beha

Commentaire de tranber78 le 05/04/2010 09:00:03

hello, il me semble que pegase a laisser une source en cs4 pour faire une classe qui permmet de recup les url de youtube, dsl je ne connais plus le nom de la source!!!
et je ne me suis jamais penché sur cette question, car je trouve que les vidéos de youtube sont tres mal encodées!! donc perso, y a pas d'interet de les recup!!
En attendant , c'est interessant, je vais voir ce que je peux trouver!!
A plus!!

Commentaire de rame16 le 07/04/2010 15:04:00 9/10

Un grand salut! Merci pour ce partage qui fonctionne parfaitement!
Une seule correction à mes yeux, serait de pouvoir centrer les videos qui se chargent, en cas de taille / ratio différent(e)s des vidz.

Bonne continuation,
ADgraphics

Commentaire de tranber78 le 08/04/2010 07:17:58

Salut rame16, tu peux t'y coller, c'est intéressant!!il te suffit d'utiliser la fonction move pour les clips entourants ton lecteur et vid.width et vid.height.

exemple:

monbouton.move(vid.width+30);

et ton bouton se positionnera toujours a 30px de la vidéo quelque soit la taille de la vidéo, et voilou!!
Bonne prog!!

Commentaire de crom34 le 09/12/2010 12:38:46

Salut
bien le player customisable par contre je ne sais pas comment faire pour lire des fichier en local j'ai un rep video j'ai mis player,xml, flv, jpg et j'ai changer le lien dans le xml
mais j'ai pas d'images une idée

<url>boue.flv</url>
<image>video.jpg</image>

et puis dans le fla, je ne voie pas le calque de la playliste donc je ne sais pas comment le deplacer car je voudrait le metre sur le coter de la video

merci

Commentaire de tranber78 le 09/12/2010 12:51:06

salut, as-tu verifier a la ligne 30 le chemin du xml:
uldr.load(new URLRequest('playlist.xml'));

peut-etre l'as-tu mis dans un répertoire, alors modifies l'url!!
uldr.load(new URLRequest('monrep/playlist.xml'));

ou alors dans ton xml:
<url>monrep/boue.flv</url>
<image>monrep/video.jpg</image>

j'espère t'avoir répondu!! salut

Commentaire de crom34 le 09/12/2010 13:03:33

merci pour ta reponse,

le xml dans le meme rep que le player et je ne l'ai pas changer dans le fla
j'ai fait un rep video et mis mes flv et jpg
puis <url>video/boue.flv</url>
mais rien, je ne comprend pas

j'etais actuellement sur ton site et dans ton forum,
lequel est le plus pratique pour toi car je voudrais faire evoluer le player j'ai pas mal d'idée mais pas la connaissance suffisante

Commentaire de tranber78 le 09/12/2010 13:19:34

J'ai oublié!!!

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!!

Commentaire de tranber78 le 09/12/2010 13:21:24

je préferais que l'on en parle sur mon site!! il est fait pour ça, malgré qu'il ne soit pas complètement fini, tu y retrouveras aussi les sources de différents flash!

à bientôt sur http://ini-media.net !

Commentaire de titamatth le 08/04/2011 11:53:18

Bonjour,

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 !).

Commentaire de tranber78 le 08/04/2011 18:28:36

Hello Titamath, cela doit venir des paramètres de publication. Refais la publication en paramétrant flash en local et non pas en réseaux.
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!

Commentaire de titamatth le 08/04/2011 21:11:51

Hum, j'ai essayé mais l'erreur ne provient pas de là; dommage !
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

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

flash + video [ par jah2 ] je cherche des infos sur lintegration de la video pour simuler un stream!! et suis aussi preeur dinfos sur mx communication server!! a fond !!si pass Flash MX et la Video [ par laurentgraph ] Bonjour à tous,J'aimerais intégrer plusieur séquence video sur un flash ???comment aller chercher ses fichier video sur mon serveur ??? video et scene 3d ?? [ par flashx ] flashxvoila jaimerais mettre une scene video en numerique ds une scene 3d pur et dur je sais pas si vous comprenne !donc je voudrais insere un couple video avec du son ! [ par Superioio ] salutc'est pour un CD hybride MAC/PC. Je clic sur le bouton et voilà une vidéo qui joue. Mais comment avoir le son? ma source c'est un .mpg avec du so video [ par canblanco ] Salut,j'appelle une video dans mon animgetURL("javascript:flashvideo(224,149,352,200,\"acc_mag_dei.mpg\")");mais le problème et que lorsque ma video a Insertion d'une video dans une anim Flash [ par ppfm ] slt,j'ai un probleme en ce qui concerne l'insertion d'une video de 30secondes (fichier avi de 6Mo) dans l'animation Flash d'une page web.En effet, j'a Preload qui passe directement à 100% et lecture video saccadé en projection [ par mysweethome ] J'ai un gros souci très urgent, je vais essayer d'être claire (pas évident),Je suis entrain de crée une présentation d'entreprise sur CD-ROM avec flas video + dessin aide STP [ par rich25200 ] Bonjour,J'ai un très gros probleme..En faite je charge une video sous flash mx 2004 puis j'ai des bouton pour controler cette video... Pour l'instant chargement de movies externe de gros volume (Video) [ par mag2 ] salut à tous, voilà j'ai un petit soucis de temps de chargement d'une video externe et .swf de 65mo (je sais c'est lourd mais je peux pas faire autrem video externe flv en boucle [ par f ] Bonjour, est-ce qu'il est possible lorsque l'on fait appelle à une vidéo externe *.flv de la mettre en boucle?Et puis aussi est-ce que l'on peut cont


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,730 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales