Aller au contenu

Communication entre .swf


carm

Sujets conseillés

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:

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

Merci :)

Modifié par carm
Lien vers le commentaire
Partager sur d’autres sites

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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à :) j'espère que je ne me suis pas trompé, car je n'ai rien testé du tout :whistling:

Modifié par Boo2M0rs0
Lien vers le commentaire
Partager sur d’autres sites

Merci à vous 2 pour vos réponses !

Je commencais un peu à desesperer..... :whistling:

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

Je repasserais certainement vous faire par des evolutions de cette fichue contrainte !

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

En effet c'est une remarque tout à fait pertinente ! ;)

Et j'avoue que j'y avais pas pensé :blush: .... 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:

En tout cas merci beaucoup ! ;)

Lien vers le commentaire
Partager sur d’autres sites

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 :lol:

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

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

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

Ta pas index.php

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

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

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

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines plus tard...

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.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...