Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flash
Flash Forum d'entraide sur la technologie Flash (Cours, FAQs, Sources)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/06/2008, 22h45   #1
Invité de passage
 
Inscription : juin 2008
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 3
Points : 1
Points : 1
Par défaut Synchronisation jpg son dans swf

Bonjour,

Ce petit script flash basique diffuse une image et un son générés par 2 fichiers Php qui se synchronisent avec un cookie. Le fichier image.php envoie l'image avec une instruction : imagejpeg ($im, '', 80) . Le fichier son.php envoie le son avec l'instruction : echo $mp3 .

**********************
this.stop();

var visual_url:String = "http://mon_site/image.php";
var audio_url:String = "http://mon_site/son.php";

this.createEmptyMovieClip("img_container", 1);
var bruit:Sound = new Sound();

img_container.loadMovie(visual_url);
bruit.loadSound(audio_url, false);
**********************
L'image est affichée et un bouton sert à écouter le son quand la souris passe dessus.

**********************
on(rollOver) {
bruit.start();
}

on(rollOut) {
bruit.stop();
}
**********************

Pour rafraîchir l'image et le son, un bouton relance le processus.

**********************
var aff_image:Button = this.aff_image;
aff_image.onRelease = function() {

charge_image();
};
var charge_image:Function = function (Void):Void {

img_container.loadMovie(visual_url);
bruit.loadSound(audio_url, false);
};
**********************

A l'origine, l'image jpg s'affichait directement dans le navigateur et le son par un swf avec le bouton. Le rafraichissement ne pouvait se faire qu'en rechargeant la page d'où mon idée d'intégrer les deux.
Ca marche, mais c'est incertain.
Il arrive que l'image s'affiche avec retard. C'est plus fréquent avec le son.
Mais le plus bizarre est que le son et l'image peuvent se désynchroniser après plusieurs rafraichissement, le son étant alors celui de l'image précédente.

Le fichier jpg fait 3 Ko et le mp3 fait 44 Ko.

Une idée pour améliorer ça ?
LeCab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 23h32   #2
Membre éprouvé
 
Avatar de IP-Fix
 
Inscription : mars 2006
Messages : 406
Détails du profil
Informations personnelles :
Âge : 25
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2006
Messages : 406
Points : 433
Points : 433
Envoyer un message via MSN à IP-Fix
En actionscript3 il aurait suffit d'ajouter un addEventListener( Event.COMPLETE, onComplete ) sur les deux loader pointant vers une fonction genre :

Code :
1
2
3
4
5
6
7
8
9
var un_des_deux_est_load:Boolean=false;
 
function onComplete(e:Event):void{
    if(un_des_deux_est_load){
        //tu lance l'affichage de l'image et du son;
    };
    else
        un_des_deux_est_load=true;
}
On aurait aussi pu créer un event speciale qui se lance quand les deux autres sont complete ... Je sais pas ce que sa donne en as2, sa fait trop longtemps que j'ai pas codé en as2 alors je veux pas dire de betise.

En esperant t'avoir aidé.
IP-Fix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h32.


 
 
 
 
Partenaires

Hébergement Web