Version complète: sur le forum Webmaster Hub : Communication entre .swf
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net
carm
Bonjour à tous,

Un petit problème se pose à moi, toujours dans le cadre du développement d'un site pour un groupe de musique.

Le site sera un site hybride (Flash et HTML) et utilisera des iframe.
L'entête du site (en Flash) comportera un lecteur mp3 qui diffusera la musique du groupe tout au long de la navigation. C'est cette contrainte qui justifie l'utilisation des iframe car la page ne dois pas être rechargée pendant la navigation parmi les différentes rubriques du site.

Le site possèdera une rubrique "vidéos" où les visiteurs pourront visionner les clips et concerts du groupe. Seulement il faudrait que la diffusion du lecteur mp3 passe automatiquement sur pause quand on enclenche le lancement d'une vidéo.
Il faut donc qu'au moment du lancement de la vidéo un paramètre soit envoyé au lecteur mp3 pour qu'il passe sur pause et qu'il ne gêne pas la diffusion de la vidéo.

Je sais qu'il est possible de faire communiquer 2 swf sur la même page, mais là le lecteur vidéo se trouve sur le page video.php et le lecteur mp3 sur la page index.php

Bref j'espère que je suis assez clair.... blush.gif

En gros savez vous comment passer un parametre en 2 swf placés sur 2 pages différentes ?

Merci smile.gif
Beatnykk
il me semble que ce n'est pas possible tel quel car transmettre une variable par php veut dire post ou get une url, et donc recharger la page et donc le swf qui est dedans repart de 0 à chaque fois.

il y a cependant une alternative : faire vérifier périodiquement la valeur d'une variable intermédiaire par le flash qui joue les morceaux, par exemple dans un fichier txt ou xml, et faire REECRIRE ce fichier (et donc la valeur de cette variable) par la page qui doit signaler la mise en pause ou la reprise de lecture (par un script php ou as, par exemple) au moment où il faut.

pas simple, c'est sûr ! tu ne pourrais pas TOUT jouer dans le même "player" flash, pour simplifier ?
Boo2M0rs0
Salut,

Il me semble avoir lu que action script est assez proche de javascript et qu'on aussi les faire inter-réagir et en javascript, il est possible d'accéder à une autre frame:
parent.frames["frame_de_lecture"]

http://www.toutjavascript.com/reference/re...parent&parent=6
http://www.toutjavascript.com/savoir/savoir03.php3
http://www.toutjavascript.com/reference/re...frames&parent=6

Vu que tu peux accéder à la bonne frame, tu peux faire inter-réagir avec un java script:
http://www.macromedia.com/fr/support/flash...script_comm.htm

Voilà smile.gif j'espère que je ne me suis pas trompé, car je n'ai rien testé du tout whistling.gif
carm
Merci à vous 2 pour vos réponses !
Je commencais un peu à desesperer..... whistling.gif

Boo2M0rs0 je ne pense pas que tes solutions soient les bonnes dans la mesure où j'utilise un iframe et non un frame... mais je vais quand même creuser lla question ; c'est peut-etre possible tout de même

Sinon Beatnykk ton idée est très interessante.
Je peux peut-etre en effet stocker une valeur sur un fichier externe, modifier cette valeur en enclanchant la lecture d'une vidéo ; et en même temps faire tester cette valeur toutes les x secondes par le lecteur mp3... Dès qu'elle est modifiée il se met automatiquement sur pause.
Ca me paraît être la meilleure solution mais je ne sais pas ce que va en penser le serveur...

Il m'est hélas impossible d'envisager de faire le site intégralement en flash... par manque de temps et de connaissances... peut-être dans un futur proche.

En tout cas merci à vous ! d_clap_20.gif

Je repasserais certainement vous faire par des evolutions de cette fichue contrainte !
Thanh
Commander un Flash via Javascript, ça ne marque que sous IE. Tu peux passer des variables à un Flash, donc lui dire quel vidéo charger.
Beatnykk
carm : si tu voulais faire la solution que j'indiquais, n'oublie pas d'instancier un marqueur de session par utilisateur (genre par ip+mysql ou cookie client) parce que s'il y a plus d'un visiteur sur le site, ça va commencer à être comique mdr
tu vois ce que je veux dire ?

quand à accéder un flash via jv par frameset, franchement jamais essayé mais je pense que c'est casse-gueule, ne serais-ce que parce que pas mal de gens désactivent jv...
carm
En effet c'est une remarque tout à fait pertinente ! wink.gif

Et j'avoue que j'y avais pas pensé blush.gif .... mais je me serais vite confronté au problème.

Mais j'ai encore un gros doute pour le serveur.... j'ai peur que ce soit pas super bon niveau ressources... Regarder la valeur de la variable toutes les x secondes wacko.gif

En tout cas merci beaucoup ! wink.gif
Beatnykk
CITATION
Mais j'ai encore un gros doute pour le serveur.... j'ai peur que ce soit pas super bon niveau ressources... Regarder la valeur de la variable toutes les x secondes wacko.gif


bah si tu fais en mysql par ip, chaque fois que tu ouvre une connection vers la base, tu la referme par mysql_close juste après, pis ça libère laugh.gif

si ça fait trop d'accès gère en cookie ça bouffera pas le serveur pis c'est bon c'est plein de choco !!! IMSTP6.gif
Thanh
Si tu abandonnes les frames tu peux tjs faire commnuniquer deux flashs avec un objet LocalConnection.
PoM_-
J'emmet une hypothese.. je ne sais pas si ca marcheras mais ca vaut peut etre le coup d'essayer. T'es plus à 1 ou 2 essai pres happy.gif!

Ta pas index.php

CODE
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="720" height="239">
       <param name="movie" value="images/mp3.swf?[COLOR=red]act=<? echo @$current; ?>[/COLOR]">
       <param name="quality" value="high">
       <param name="wmode" value="transparent">
       <param name="menu" value="false">
       <embed src="images/mp3.swf[COLOR=red]?act=<? echo @$current; ?>[/COLOR]" width="720" height="239" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" menu="false"></embed></object>


-----
Ensuite, si tu lance une video via le swf.

CODE
on (press){
GoToAndPlay(10); //  La c'ets pr aller vers ta sequence qui lit ta video
geturl("index.php?current=pause");
}


Et pr finir dans ton mp3.swf

CODE
if( $current == "pause" ){     // tu te debrouille pour recuperer la variable je sais po faire moi :p
stop();// voila c'ets ptetre pas stop, c'est peut etre pause j'en sais rien mais en tout cas c'est un truc du genre
}


Bon voila je sais pas si ca servira a quelque chose peut etre c'ets completement faux lol. A vous de me dire.

PoM_-
Beatnykk
nan ça marche pas parce que par php, la variable ne peut pas arriver au milieu de l'éxecution du script, sinon ça recharge la page à 0,donc ça rejouera le flash du début à chaque fois.
plus simple : faire tout cela dans le même flash par actionscript.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.