begin process at 2012 05 27 20:30:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Flash

 > 

Archives

 > 

Flash & le son

 > 

Soucis: intégration de plusieurs mp3player dans flash


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales