I have an mp3 player embedded in an include file on my site with swfObject. How do I set it up that it will continue to play the current song when clicking through to another page? I know there is some js involved but I havent been able to find the best info on how to accomplish this. My as3 here:
import flash.media.*;
import flash.net.*;
import flash.display.*;
import flash.events.*;
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
import com.greensock.*;
import com.greensock.easing.*;
import gs.*;
var jukeboxX:XML;
var songList:XMLList;
var currentIndex:Number = 0;
var currentSound:Sound;
var firstSong:Sound = new Sound();
var sc:SoundChannel;
currentSound = firstSong;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("jukebox.xml"));
function onComplete(e:Event):void {
jukeboxX = new XML(loader.data);
songList = jukeboxX.song;
firstSong.load(new URLRequest(songList[currentIndex].url));
//sc = firstSong.play();
title_txt.text = songList[currentIndex].title;
var picHolder:MovieClip = new MovieClip;
var PicLoader:Loader = new Loader();
PicLoader.load(new URLRequest(songList[currentIndex].pic));
addChildAt(PicLoader, 0);
PicLoader.x = 105;
PicLoader.y = 0;
stop_btn.addEventListener(MouseEvent.CLICK, stopSound);
play_btn.addEventListener(MouseEvent.CLICK, playSound);
next_btn.addEventListener(MouseEvent.CLICK, nextSong);
prev_btn.addEventListener(MouseEvent.CLICK, prevSong);
}
function stopSound(e:Event):void {
sc.stop();
TweenMax.to(play_btn, .2, {scaleX:1, scaleY:1, alpha:1, overwrite:0, ease:Strong.easeOut});
TweenMax.to(stop_btn, .2, {scaleX:.8, scaleY:.8, alpha:.5, overwrite:0, ease:Strong.easeOut});
TweenMax.to(prev_btn, .2, {scaleX:1, scaleY:1, alpha:1, overwrite:0, ease:Strong.easeOut});
TweenMax.to(next_btn, .2, {scaleX:1, scaleY:1, alpha:1, overwrite:0, ease:Strong.easeOut});
equalizer.gotoAndPlay("mute");
}
function playSound(e:Event):void {
sc = currentSound.play();
TweenMax.to(play_btn, .2, {scaleX:.8, scaleY:.8, alpha:.5, overwrite:0, ease:Strong.easeOut});
TweenMax.to(stop_btn, .2, {scaleX:1, scaleY:1, alpha:1, overwrite:0, ease:Strong.easeOut});
TweenMax.to(prev_btn, .2, {scaleX:1, scaleY:1, alpha:1, overwrite:0, ease:Strong.easeOut});
TweenMax.to(next_btn, .2, {scaleX:1, scaleY:1, alpha:1, overwrite:0, ease:Strong.easeOut});
equalizer.gotoAndPlay("jam");
}
function nextSong(e:Event):void {
TweenMax.to(next_btn, .2, {scaleX:.8, scaleY:.8, alpha:.5, overwrite:0, ease:Strong.easeOut});
TweenMax.to(prev_btn, .2, {scaleX:1, scaleY:1, alpha:1, overwrite:0, ease:Strong.easeOut});
TweenMax.to(next_btn, .2, {scaleX:1, scaleY:1, alpha:1, overwrite:0, delay:.3, ease:Strong.easeOut});
var nextSound:Sound = new Sound();
sc.stop();
currentSound = nextSound;
if (currentIndex < songList.length() - 1) {
currentIndex++;
} else {
currentIndex = 0;
}
nextSound.load(new URLRequest(songList[currentIndex].url));
sc = nextSound.play();
title_txt.text = songList[currentIndex].title;
}
function prevSong(e:Event):void {
TweenMax.to(prev_btn, .2, {scaleX:.8, scaleY:.8, alpha:.5, overwrite:0, ease:Strong.easeOut});
TweenMax.to(next_btn, .2, {scaleX:1, scaleY:1, alpha:1, overwrite:0, ease:Strong.easeOut});
TweenMax.to(prev_btn, .2, {scaleX:1, scaleY:1, alpha:1, overwrite:0, delay:.3, ease:Strong.easeOut});
var prevSound:Sound = new Sound();
sc.stop();
currentSound = prevSound;
if (currentIndex > 0) {
currentIndex--;
} else {
currentIndex = songList.length() - 1;
}
prevSound.load(new URLRequest(songList[currentIndex].url));
sc = prevSound.play();
title_txt.text = songList[currentIndex].title;
}
My embed swfObject:
<div id="flashContainer">
<script type="text/javascript" src="js/swfobject.js"></script>
<div id="flashcontent"> This text is replaced by the Flash movie. </div>
<script type="text/javascript">
var so = new SWFObject("jukebox.swf", "typros jukebox", "260", "70", "9", "#000000");
so.params.allowscriptaccess = "always";
so.write("flashcontent");
</script>
</div>
Any and all help is as always most appreciated…
Thanks!