Accueil > Forum > > > > Soucis: intégration de plusieurs mp3player dans flash
Soucis: intégration de plusieurs mp3player dans flash
samedi 13 mai 2006 à 21:00:35 |
Soucis: intégration de plusieurs mp3player dans flash

redbeluga
|
bonjour,
novice en flash'ouille' je fais un site tout en flash (pas peur moi...) sous flash pro 8
J'ai 4 pages differentes pour 4 groupes de musique (présentation, extraits(sic), photos, etc etc)
Pour voir le soucis c'est là : www.redbelugaproduction.com
J'ai un old mp3player (de mr.JeroenW) sur chaque page.
Chaque lecteur va chercher sa playlist.xml (4 playlists avec un nom différent pour chacune)
Quand je teste le movie chaque lecteur reconnais sa playlist (ouf!) , mais (héhéhé) quand je lance un morceau, par exemple du lecteur 1page 1, pas de soucis, par contre je change de page pour aller ecouter un autre groupe , déjà le morceau précédent continue à jouer (énervant) et de plus quand je lance un morceau x du player2 (page2 donc) il rejoue le morceau du lecteur précédent, et j'ai constaté qu'en cliquant deux fois sur le nouveau morceau il se lancait enfin, mais bon pas cool comme situation....
script du player :
//-------------------------------------------------------------------------- // location of the playlist if no html parameter is found // change "playlist.xml" if you want another filename .. //-------------------------------------------------------------------------- _root.playlist = "osni_playlist.xml" ;
//-------------------------------------------------------------------------- // below here it's all code and code .. //--------------------------------------------------------------------------
// stage variables Stage.showMenu = false; Stage.scaleMode = "noScale"; stop();
// player variables volume = 60; current_song = 1; top.equalizer._visible=0;
// playlist loading data_xml = new XML(); data_xml.ignoreWhite = true; data_xml.onLoad = loadData; data_xml.load(playlist);
// parsing all xml data into flash function loadData(success) { if (success) { // showdisplay and playlist toggles showDisplay = this.firstChild.attributes.showDisplay; if (showDisplay == "yes") { top.easeY(toppos); topup = false; display_btn._rotation+=180; } showPlaylist = this.firstChild.attributes.showPlaylist; if (showPlaylist == "yes") { bot.easeY(botpos); botup = false; list_btn._rotation+=180; } // getting all titles and filenames aPath = new Array(); songTitel = new Array(); audioTracks = new Array(); audioTracks.shuffle(); audioTracks = this.firstChild.childNodes; song_total = audioTracks.length; for (var i = 0; i<song_total; i++) { aPath.push(audioTracks[i].attributes.path); songTitel.push(audioTracks[i].attributes.title); // buiding playlist buttons bot.playlist.btn.duplicateMovieClip("btn"+i, i); bot.playlist["btn"+i]._y = bot.playlist.btn._y+i*int(bot.playlist.btn._height) +i; bot.playlist["btn"+i].txt = checkDigits(i+1)+". "+songTitel[i]; bot.playlist["btn"+i].hit.onPress = function() { listClick(this._parent.getDepth()+1); }; } //checking autostart mode autoStart = this.firstChild.attributes.autoStart; if (autoStart == "yes") { playSong(); play_btn._visible = 0; } else if (autoStart == "no") { play_btn._visible = 1; pause_btn._visible = 0; } else if (autoStart == "random") { current_song = random(song_total)+1; playSong(); play_btn._visible = 0; } else { current_song = int(this.firstChild.attributes.autoStart); playSong(); play_btn._visible = 0; } } // done ! all loaded succesfully. purging trash delete audioTracks; delete data_xml;}
// list button function listClick(prm) { delete pausepos; current_song = prm; MySound.stop(); playSong(); } // list scroller bot.list_bg.onEnterFrame = function() { if (hitTest( _root._xmouse, _root._ymouse, true) && this._parent.playlist._height > this._height ) { ymin = this._y+this._height - this._parent.playlist._height; ymax = this._y+3; conv = (this._ymouse -15)*1.3/this._height; conv > 1 ? conv = 1 : null; conv < 0 ? conv = 0 : null; this._parent.playlist.easeY (ymax - conv*(ymax-ymin)); } }; bot.playlist.setMask(bot.list_bg);
// play function function playSong() { AudioPath = aPath[current_song-1]; // checking for pause > start from there if (pausePos>0) { top.equalizer._visible = 1; MySound.start(pausePos, 0); pausePos = 0; // startup new sound } else { MySound = new Sound(); MySound.setVolume(volume); MySound.loadSound(AudioPath, true); MySound.onSoundComplete = function() { top.equalizer._visible = 0; if (autoStart == "random") { current_song = random(song_total)+1; } else { current_song == song_total ? current_song = 1 : current_song++; } playSong(); }; // check loading bar top.track_load.onEnterFrame = function() { total = this._parent._parent.MySound.getBytesTotal(); geladen = this._parent._parent.MySound.getBytesLoaded(); if (geladen != total) { this._parent.load_display = Math.round((geladen*100/total))+"% Loaded"; this._xscale = Math.round((geladen*100/total)); } else { this._xscale = 100; top.equalizer._visible = 1; delete this.onEnterFrame; delete this._parent.load_display; } }; } // switch paly/pause buttons play_btn._visible = 0; pause_btn._visible = 1; } // play button play_btn.onRelease = function() { playSong(); }; // pause button pause_btn.onRelease = function() { this._visible = 0; play_btn._visible = 1; pausePos = MySound.position/1000; MySound.stop(); top.equalizer._visible=0; }; // next button next_btn.onRelease = function() { delete pausepos; current_song == song_total ? current_song = 1: current_song++; MySound.stop(); playSong(); }; // previous button prev_btn.onRelease = function() { delete pausepos; current_song == 1 ? current_song = song_total: current_song--; MySound.stop(); playSong(); };
// display toggle button top.setMask(top_mask); toppos = top._y; top._y = int(toppos + top_mask._height - 29); topup = true;
display_btn.onPress = function() { if(topup == true) { top.easeY(toppos); topup = false; } else { top.easeY(int(toppos + top_mask._height -27)); topup = true; } this._rotation += 180; }; // playlist toggle button
bot.setMask(bot_mask); botpos = bot._y; bot._y = botpos - bot.list_bg._height -6; botup = true;
list_btn.onPress = function() { if(botup == true) { bot.easeY(botpos); botup = false; } else { bot.easeY(botpos - bot.list_bg._height -6); botup = true; } this._rotation += 180; }; // drag button functionality drag_btn.onPress = function() { startDrag(this._parent); }; drag_btn.onRelease = drag_btn.onReleaseOutside=function () { stopDrag(); };
// copyright button copy.onPress = function() { getURL("http://www.jeroenwijering.com/?item=Flash+Mp3+Player","_blank"); } // updating time display this.onEnterFrame = function() { dur = int(MySound.duration/1000); pos = int(MySound.position/1000); playTime = {}; playTime.minutes = int((pos)/60); playTime.seconds = int((pos)%60); playTime.total = checkDigits(playTime.minutes)+":"+checkDigits(playTime.seconds); trackTime = {}; trackTime.minutes = int(dur/60); trackTime.seconds = int(dur%60); trackTime.total = checkDigits(trackTime.minutes)+":"+checkDigits(trackTime.seconds); if (top.load_display == undefined) { top.display = playTime.total+" / "+trackTime.total; } else { top.display = top.load_display; } if (top.trackDrag != true) { prozent = pos*100/dur; top.track_play._xscale = prozent; } };
// prefixing a 0 to the time function checkDigits(toCheck) { return (toCheck<10) ? toCheck="0"+toCheck : toCheck; } // track progress slider functions top.track_back.onPress = function() { this._parent.trackDrag = true; this._parent.track_play.onEnterFrame = function() { perc = (this._parent._xmouse-this._parent.track_back._x)/this._parent.track_back._width; max = this._parent.track_load._width/this._parent.track_back._width; perc > max ? perc = max: null; perc < 0.01 ? perc = 0.01: null; this._width = this._parent.track_back._width*perc; this._parent._parent.pausePos = (perc*this._parent._parent.MySound.duration/1000); }; }; top.track_back.onRelease = top.track_back.onReleaseOutside = function () { delete this._parent.track_play.onEnterFrame; this._parent.trackDrag = false; MySound.stop(); playSong(); };
// volume slider functions vol_back.onPress = function() { vol_front.onEnterFrame = function() { perc = (_xmouse-vol_back._x)/vol_back._width; perc > 0.95 ? perc = 1: null; perc < 0.05 ? perc = 0: null; this._width = vol_back._width*perc; volume = Math.round(perc*100); MySound.setVolume(volume); top.equalizer._yscale = volume; }; }; vol_back.onRelease = vol_back.onReleaseOutside=function () { delete vol_front.onEnterFrame; }; vol_front.setMask(vol_mask);
// drawing equalizer in actionscript top.equalizer.setMask(top.eq_mask); top.equalizer.onEnterFrame = function() { i++;
this.createEmptyMovieClip("graph"+i, i); with(this["graph"+i]) { _x = 0; _y = 0; beginFill(0x666666, 50); moveTo(0,0); for (j=0; j< 36; j++) { z = random(12)+8; lineTo(j*6,-1); lineTo(j*6,-z); lineTo(j*6+4,-z); lineTo(j*6+4,-1); lineTo(j*6,-1); } lineTo(j*6,0); lineTo(0,0); endFill(); } i >= 3 ? i=0: null; };
// scrolling the display song title function scrollTitle() { top.title.txt.autoSize = true; if (songTitel[current_song-1].length > 20) { top.title.txt.text = songTitel[current_song-1]+" "+songTitel[current_song-1]; top.title._x+top.title._width/2 +4< top.title_mask._x ? top.title._x = top.title_mask._x : top.title._x--; } else { top.title.txt.text = songTitel[current_song-1]; top.title._x = top.title_mask._x-3; } } top.title.setMask(top.title_mask); setInterval(scrollTitle, 40);
// easing display and playlist movement MovieClip.prototype.easeY = function(t) { this.onEnterFrame = function() { this._y = int(t-(t-this._y)/1.5); if (this._y>t-1 && this._y<t+1) { delete this.onEnterFrame; } }; };
pffff c long.....
maintenant une playlist.xml :
<?xml version="1.0" encoding="UTF-8"?> <player showDisplay="yes" showPlaylist="no" autoStart="no">
<song path="mp3_osni/Disco_love_in_my_heart.mp3" title="OSNI - Disco love in my heart" /> <song path="mp3_osni/Entertainment_for_girls.mp3" title="OSNI - Entertainment for girls" />
<song path="mp3_osni/Fireball_girls.mp3" title="OSNI - Fireball girls" />
<song path="mp3_osni/Je_veux_etre_ton_clebard.mp3" title="OSNI - Je veux etre ton clebard" />
<song path="mp3_osni/Cheri_motomania.mp3" title="OSNI - Cheri motomania" />
</player> J'espère avoir été assez clair voilou voilou, si quelqu'un peut me sortir cette fichu aiguille du pied je le remercie d'avance,
nico. mon msn : nicolachot@tiscali.fr
|
|
samedi 13 mai 2006 à 23:11:44 |
Re : Soucis: intégration de plusieurs mp3player dans flash

timore
|
hello,
ben rajoute un stopsound(); quand tu cliques sur ta vignette....
ça devrait suffir....
ciao
|
|
dimanche 14 mai 2006 à 16:49:29 |
Re : Soucis: intégration de plusieurs mp3player dans flash

redbeluga
|
salut timore,
merci pour ta réponse qui me résoud un petit soucis : j'ai mis le stopallsound() sur le bouton 'home' (pour revenir au menu : nickel, merci encore (je suis noob)
mais,
quand je joue un morceau sur le player 1 (par exemple) et que je fais pause; ça marche pas de probleme,
par contre, ensuite je vais sur la page 2 (ou 3 ou 4 ) pour jouer un autre player et là ca joue le morceau du player 1 !!!
OUINNNNNNNNN!!!!!!
|
|
dimanche 14 mai 2006 à 17:58:37 |
Re : Soucis: intégration de plusieurs mp3player dans flash

redbeluga
|
Réponse acceptée !
bon...
problème résolu !!!! ouf!
j'ai enlever le btn play et le btn pause du player , j'ai créé un btn stop pour chaque lecteur et assigné l'action script stopallsound
c'est pas académique mais bon ca solutionne mon probleme et permet d'avancer sur le site
si quelqu'un à une solution plus académique je sis preneur et aussi pour enrichir mes connaissances en flash
merci encore timore pour ton post il m'a permis de debloquer le bug
le résultat (encore en construction) : www.redbelugaproduction.com
|
|
dimanche 14 mai 2006 à 19:15:40 |
Re : Soucis: intégration de plusieurs mp3player dans flash

timore
|
Re-salut,
Ben moi aussi je suis comme tu dis un "noobs" et c'est bien connu à chaque probleme existe une solution.... Donc si ton truc fonctionne contente toi de ça pour l'instant sachant que tout est perfectible il faut aussi savoir " parfois" se contenter de ce que l'on a.... Le tout est que ça fonctionne....
bonne continuation
sinon sympa les artistes de redbeluga je recommande vivement ce label
++
RZAREK°
|
|
Cette discussion est classée dans : parent, top, btn, playlist, song
Répondre à ce message
Sujets en rapport avec ce message
Download d'un mp3 en lecture. [ par hlx ]
Bonjour,J'utilise dans mon site entièrement en flash un player mp3 relié à un fichier php qui fait le lien avec un fichier xml qui liste des sons mp3
Problème d'affichage avec un menu dynamique [ par omu34 ]
Bonjour, J'essaye de créer un menu composé d'un ensemble de n boutons créés à partir d'un titre et d'une date contenue dans un fichier XML. ex du cont
Probleme de cible getChildByName et for as3 [ par meumeu64 ]
Bonjour à tous. Je vous explique mon problème. Je souhaite créer plusieurs clips dont j'incrémente le nom. Je positionne ensuite mes clips les uns à
Erreur dans mon code [ par djancess ]
Slt mon code me marque undefined au niveau du deuxieme trace en rouge pourkoi et comment recuperer ma variable en dessous. pour quel puisse charger mo
Help sur attachMovie [ par ehp ]
Désolée je débute, comment enlever le clip de la scène après l'avoir appelé avec attachMovie ? mon [color=red][color=]*/------------------- btn.on
_parent [ par ehp ]
Bonjour, mon code ne fonctionne pas... [color=red]/*----------------------------------------- btnClic.onPress = function () { _parent.gotoAndPlay("
Lien href dans mon fichier fla [ par bermond ]
Bonjour, j'avoue, je suis surement une bille en flash mais j'ai une excuse, je débute. J'ai créer une bande avec des images qui défilent en boucle.
amélioreration du code [ par lapinou27 ]
bonjour, je cherche un moyen d'améliorer le code suivant qui fonctionne mais qui me parrait bien lourd et je me demande s'il n'y a pas moyen de faire
Condition comparaison btn avec son occurence [ par Ariranha ]
Bonjour à tous, J'ai une boucle for qui créée à la volée des clips, pour des raisons x il faudrait que je puisse différencier le comportement de l'un
charger un xml à partir d'un autre xml [ par BBFUNK01 ]
Bonjour à tous, voici mon problème : J'ai un player mp3 auquel j'ai ajouté un coverflow, le coverflow comprend plusieurs covers, et je cherche un scri
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|