Se connecter / S'enregistrer
Votre question

Du php dans mon player flash ??

Tags :
  • Flash
  • Script
  • Php
  • Programmation
Dernière réponse : dans Programmation
6 Mars 2012 20:09:16

Bonjour, voilà je m’explique :

j'ai fais un player flash qui se connecte à un stream shoutcast, jusque la pas de problème !
j'ai trouvé un script php qui va chercher les metadata (current song, listeners etc etc)

ce que je voudrais donc faire, c'est intégrer ce script php dans mon player flash (donc dans le swf) est ce possible ?? si oui quelle est la marche à suivre ??

Merci d'avance !

Autres pages sur : php player flash

6 Mars 2012 22:56:41

je vais lire ça et je te tiens au courant ! merci beaucoup !


ps: le php j'y connais rien à part pour bidouiller des codes tout fait, et la en l’occurrence il doit y avoir un truc que je fais mal parce que mon intégration ne fonctionne pas :( 
Contenus similaires
a c 232 L Programmation
7 Mars 2012 00:17:22

Sans donner de code, je ne peux pas te dire si ça va ou pas :) 
7 Mars 2012 08:13:16

Alors je voudrais integrer ce code :

"testphp.php"

  1. <?php
  2. $ip = "urlserveur";
  3. $port = "portserveur";
  4.  
  5. $open = fsockopen($ip,$port);
  6. if ($open) {
  7. fputs($open,"GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n");
  8. $read = fread($open,1000);
  9. $text = explode("content-type:text/html",$read);
  10. $text = explode(",",$text[1]);
  11. }
  12.  
  13. if ($text[1]==1) { $state = "On Air"; } else { $state = "Off Air"; }
  14. echo "<font face=arial size=1>
  15. Auditeurs: $text[0]<br>
  16. Statut: <b>$state</b><br>
  17. à l'écoute: $text[6]<br>
  18. </font>";
  19. ?>


dans le swf ! mais meme avec la méthode de ton liens je suis pas sur d'avoir tout compris ^^
a c 232 L Programmation
7 Mars 2012 09:04:31

En fait, ça ne sera pas directement dans le SWF... Ca va être dans un fichier PHP.
Et depuis ton SWF, tu vas appeler ce fichier PHP pour récupérer son contenu.

Comme il a indiqué, tu peux passer des variables de PHP à Flash, donc plutôt que d'afficher Auditeurs / Status / à l'écoute, tu vas passer les 3 variables que tu pourras utiliser dans Flash après.
7 Mars 2012 10:02:31

oui donc ça j'avais bien compris, masi je n'arrive pas à appeler ces variables ! aurais tu un exemple de code ???

merci de ta réponse
a c 232 L Programmation
7 Mars 2012 10:12:03

Il explique ça dans le 2.4

Tu auras quelque chose du genre :
  1. <?php
  2. $ip = "urlserveur";
  3. $port = "portserveur";
  4.  
  5. $open = fsockopen($ip,$port);
  6. if ($open) {
  7. fputs($open,"GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n");
  8. $read = fread($open,1000);
  9. $text = explode("content-type:text/html",$read);
  10. $text = explode(",",$text[1]);
  11. }
  12.  
  13. if ($text[1]==1) { $state = "On Air"; } else { $state = "Off Air"; }
  14. echo '&auditeurs='.$text[0].'&state='.$state.'&current='.$text[6].'&';
  15. ?>



Et dans ton code Flash, tu vas faire un truc du genre :

  1. var PhpObject= new LoadVars();
  2. PhpObject.onLoad=function(success){
  3. if(success){
  4. // tu devrais avoir tes variables auditeurs, state et current
  5. // this.auditeurs | this.state | this.current
  6. }
  7. else{
  8. ShowError("Erreur durant le chargement");
  9. }
  10. }
  11.  
  12. PhpObject.sendAndLoad("http://chemin/vers/ton/fichier.php",PhpObject,"POST");
7 Mars 2012 10:51:11

à oui donc j'en étais très très loin ! merci beaucoup ! en tout cas !

mais je n'arrive pas à y mettre en place, j'ai bien remplis les zones du codes (chemin etc...) mais flash m'affiche des erreurs en sortie, et du coup rien ne s'affiche :

"appel à une methode qui ne semble pas définie LoadVars."
"appel à une methode qui ne semble pas définie ShowError."
7 Mars 2012 16:11:19

sniff personne peut m'aider :-( ??
a c 232 L Programmation
7 Mars 2012 16:23:09

Arf, t'avais édité ton message... mais j'avais lu le 1er entre temps... y'a pas de nouvelle notification quand tu édites ton message...

Pour le ShowError, normal je pense, remplace ça par une méthode pour afficher ton erreur.
Pour LoadVars, bizarre... http://forums.mediabox.fr/wiki/documentation/flash/as2/...
7 Mars 2012 21:04:40

Bon alors je suis de retour ! donc j'ai suivis un petit tuo sur le net :

les traces marches bien, il me dit que les données sont chargés, mais ça ne s'affiche toujours pas dans mon swf !

LE FLASH

  1. var PhpObject:LoadVars = new LoadVars();
  2.  
  3.  
  4. PhpObject.onLoad=function(success){
  5. if(success){
  6. // tu devrais avoir tes variables auditeurs, state et current
  7. // this.auditeurs | this.state | this.current
  8. this.current
  9. this.auditeurs
  10. this.state
  11.  
  12.  
  13. }
  14. }
  15.  
  16.  
  17.  
  18.  
  19. PhpObject.onLoad = function(ok:Boolean):Void {
  20. trace("les données sont chargées");
  21.  
  22. if (ok) {
  23.  
  24.  
  25. }
  26. else {
  27. trace("Un problème est survenu lors du chargement des données.") ;
  28. }
  29. };
  30.  
  31.  
  32. PhpObject.load("testphp.php");


LE PHP

  1. <?php
  2. $ip = "serveur";
  3. $port = "port";
  4.  
  5. $open = fsockopen($ip,$port);
  6. if ($open) {
  7. fputs($open,"GET /7.html HTTP/1.1\nUser-Agent:Mozilla\n\n");
  8. $read = fread($open,1000);
  9. $text = explode("content-type:text/html",$read);
  10. $text = explode(",",$text[1]);
  11. }
  12.  
  13. if ($text[1]==1) { $state = "On Air"; } else { $state = "Off Air"; }
  14. echo "<font face=arial size=1>
  15. Auditeurs: $text[0]<br>
  16. Statut: <b>$state</b><br>
  17. à l'écoute: $text[6]<br>
  18. </font>";
  19. ?>
a c 232 L Programmation
7 Mars 2012 21:45:49

Quelques remarques :
1) tu n'as pas modifié le fichier PHP pour retourner les variables à Flash
2) du coup, vu que tu as copié 2 bouts de code, tu as deux fois un onLoad, donc le 1er ne sert à rien, surtout que tu as juste mis "this.current this.auditeurs this.state"... c'est sensé donner quoi en code flash ça ?
3) Et tu ne peux rien avoir d'affiché, vu que tu n'affiches rien en flash. Ou alors j'ai loupé quelque chose, et tu peux directement afficher du code PHP en flash sans avoir besoin de l'afficher soi-même. C'est possible, je ne travaille jamais en flash
7 Mars 2012 21:54:28

Avec le bout de code que tu m'a donné; sa m'affiche ça (uniquement sur le .php):


&auditeurs= 0&state=Off Air¤t=newmaster&

le probléme est que je n'ai aucune idée de comment adapter ton script >_<


pour le double onLoad tu as raison je n'avais pas fais gaffes !

je m'excuse car Je ne connasi pas bien flash ni même le php ! du coup je galére à fond !

a c 232 L Programmation
7 Mars 2012 22:08:49

Oui, c'est normal que le PHP n'affiche que ça, mais ça permet au flash de récupérer les variables normalement.
Avec cette ligne, flash devrait avoir 3 variables auditeurs, state et current.
7 Mars 2012 22:11:43

j'avoue que je suis complétement perdu, je ne sais plus trop quoi faire >_< !

concrétement le script php fonctionne donc !

mais je ne sais plus quoi mettre dans flash >_< je me sens un peu nul sur ce coup -_-'
a c 232 L Programmation
7 Mars 2012 22:38:09

Je dirais quelque chose dans ce genre...
  1. var PhpObject:LoadVars = new LoadVars();
  2. PhpObject.onLoad=function(success){
  3. trace("les données sont chargées");
  4. if(success){
  5. // tu devrais avoir tes variables auditeurs, state et current
  6. // this.auditeurs | this.state | this.current
  7. trace(this.auditeurs);
  8. trace(this.state);
  9. trace(this.current);
  10. }
  11. else{
  12. trace("Un problème est survenu lors du chargement des données.") ;
  13. }
  14. }
  15.  
  16. PhpObject.sendAndLoad("testphp.php",PhpObject,"POST");
8 Mars 2012 09:29:21

alors j'ai testé tout ça, donc tout se charge bien, mais je n'arrive toujours pas à afficher les données voulus dans la scene !

j'ai en revanche bien compris le déroulement de l'opération !

je te remercie pour ton aide !
a c 232 L Programmation
8 Mars 2012 10:06:05

Est-ce que les trace de this.auditeurs, this.state, this.current fonctionnent bien ?
8 Mars 2012 13:54:09

oui tout fonctionne bien !
a c 232 L Programmation
8 Mars 2012 14:12:51

Si tu as toutes tes données, tu n'as plus qu'à les afficher où tu veux.
Ne connaissant que trop peu flash, je ne pourrais pas te dire exactement comment faire, mais vu que tu as tes auditeurs, status et à l'écoute, ça devrait être facile.
8 Mars 2012 14:15:38

oki c'est bien ce que je me disais ! en tout cas merci beaucoup pour ton aide !
13 Mars 2012 12:35:36

J'ai réussi à tout faire marcher, en revanche, il ne s'actualise pas automatiquement au changement de chanson ! tu saurais comment je peux faire ?


ps: la variables auditeur ne fonctionne pas ! (rien ne s'affiche dans le swf mais dans le php ça marche >_<)
a c 232 L Programmation
13 Mars 2012 14:44:54

Il faut que tu réexécutes ton code toutes les quelques secondes / minutes pour récupérer les nouvelles données.

Et pour la variable auditeur, c'est auditeurs que tu utilises, oui ?
13 Mars 2012 15:14:09

Ha bah j'ai trouvé pour l'actualisation mais pas pour le problème de la var auditeurs !
13 Mars 2012 15:22:49

désolé je n'avais pas vu ton message, alors enfaite pour l'actualisation pour le moment, j'ai mis un refresh dans le flash de 10sec, le problème c'est qu'il m'affiche rien avant les 10sec en question, et pour la variable elle s'appelle exactement : auditeurs, dans le php ça fonctionne mais pas dans le flash (ça a fonctionné dans le flash pendant environ 3sec puis plus rien !)
a c 232 L Programmation
13 Mars 2012 15:31:48

Il faut que tu lances une 1ère exécution avant d'actualiser toutes les 10 secondes.

Et oui je sais qu'elle s'appelle exactement auditeurs, mais vu que tu parles d' "auditeur", tu avais peut-être fait une erreur dans ton fichier flash...
Pas normal que ça fonctionne 3s...
Est-ce que tu aurais un exemple de valeur qui est contenue dans auditeurs ?
13 Mars 2012 15:54:14

euh je sais pas si c'est ça que tu veux : '&auditeurs='.$text[0].
enfaite si je me souviens bien, ça marchait sous flash jusqu'a ce que j'essaye de changer la couleur du texte du champ de texte dynamique ! j'ai réessayé de changer la couleur sur les champ dynamique des autres variables et ça fonctionne, mais depuis que j'ai changé celle de auditeurs il ne s'affiche rien, en revanche si je mets : '&auditeurs='.$text[2]. il m'affiche 24 sous flash je crois !
a c 232 L Programmation
13 Mars 2012 16:12:22

Non... en fait je voulais un exemple de une vraie valeur, pas ton code PHP :) 
Je sais pas moi, que ça t'affiche :
&auditeurs=toto

ou
&auditeurs=1
13 Mars 2012 16:18:42

ce sera auditeurs = 1 (enfin en fonction du nombre d'auditeur lol)

le code flash pour l'actualisation est le suivant :

  1. function stats(){
  2. loadVariablesNum ("shout/generation.php","0");
  3.  
  4. }
  5. setInterval(stats, 10000);


je dois rajouter quoi pour qu'il se lance après une premier chargement des variables ?
a c 232 L Programmation
13 Mars 2012 16:25:15

Voilà, je voulais savoir s'il ne pouvait pas y avoir de caractères un peu spéciaux, du genre un "&" dedans, si t'as Tom&Jerry qui écoutent.

Du coup, c'est un problème d'affichage dans flash... et je t'avoue que j'y connais pas grand chose à flash...
13 Mars 2012 16:31:42

je pige pas ou est le probléme, mes 3 champ de texte dynamique sont parametré pareil >_<
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS