Avatar billede stratokaster Novice
17. juli 2006 - 13:33 Der er 3 kommentarer og
1 løsning

Musik genstarter når man skifter til et nyt link!

Hej,

Jeg har en mp3player på min startside, men vil også gerne have den på mine andre sider. Men hvergang jeg skifter side spiller den bare nummeret fra starten af. Hvad skal jeg gøre for at den bliver ved med at spille heletiden.

Her er mit actionscript:

//--------------------------------------------------------------------------
// location of the playlist if no html parameter is found
// change "playlist.xml" if you want another filename ..
//--------------------------------------------------------------------------
_root.playlist == undefined ? playlist = "mp3player.xml" : playlist=_root.playlist;

//--------------------------------------------------------------------------
// below here it's all code and code ..
//--------------------------------------------------------------------------


// stage variables
Stage.showMenu = false;
Stage.scaleMode = "noScale";
stop();

// player variables
volume = 90;
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.onad.dk"); }
   
// 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(0x009900, 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 > 18) {
        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, 50);


// 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; } }; };
Avatar billede Tony Juniormester
17. juli 2006 - 13:55 #1
Årsagen er at du refresher siden, når du kalder en ny og så starter playeren mediet forfra.

Der er umidelbart to løsninger:

1. Lav sitet i et framesæt, så den frame emd medieafspilleren ikke refreshes.

2. Sæt playeren ind i en popup som åbner udenfor og ovenpå sitet.
Avatar billede stratokaster Novice
24. juli 2006 - 12:20 #2
Ja vil helst ikke bruge frames, men har fundet en anden løsning. include.php!

Tak for hjælpen smid et svar så får du point!
Avatar billede stratokaster Novice
25. juli 2006 - 15:11 #3
Kan man bruge iframe!
Avatar billede stratokaster Novice
16. august 2006 - 18:20 #4
Lukketid!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester