Frame 1
function loadContent(success) {
if (success == false) {
return(false);
}
createPlayList();
myLoader.loadClip(mediaPlayerArray[0].mainBackgroundURL, bgImage);
trackMC.trackText.text = (playlistArray[currentTrackNum].artist.toString() + " - ") + playlistArray[currentTrackNum].title.toString();
thumbMC.loadMovie(playlistArray[currentTrackNum].thumb);
return(true);
}
function createPlayList() {
totalTracks = playlistXML.firstChild.childNodes.length;
trace("totalTracks = " + totalTracks);
i = 0;
while (i < totalTracks) {
this.playlistArray[i] = new Object();
this.playlistArray[i].artist = playlistXML.firstChild.childNodes[i].childNodes[0].firstChild.nodeValue;
this.playlistArray[i].title = playlistXML.firstChild.childNodes[i].childNodes[2].firstChild.nodeValue;
this.playlistArray[i].album = playlistXML.firstChild.childNodes[i].childNodes[1].firstChild.nodeValue;
this.playlistArray[i].path = playlistXML.firstChild.childNodes[i].childNodes[3].firstChild.nodeValue;
this.playlistArray[i].length = playlistXML.firstChild.childNodes[i].childNodes[4].firstChild.nodeValue;
this.playlistArray[i].buySongLink = playlistXML.firstChild.childNodes[i].childNodes[5].firstChild.nodeValue;
this.playlistArray[i].buyAlbumLink = playlistXML.firstChild.childNodes[i].childNodes[6].firstChild.nodeValue;
this.playlistArray[i].enable = playlistXML.firstChild.childNodes[i].childNodes[7].firstChild.nodeValue;
this.playlistArray[i].thumb = playlistXML.firstChild.childNodes[i].childNodes[8].firstChild.nodeValue;
i++;
}
checkAutoStart();
checkRandomPlay();
loadList();
}
function checkAutoStart() {
trace("autoStart = " + autoStart);
if ((_root.autoStart == "true") || ((_root.autoStart == undefined) && (this.page == "pg-home"))) {
autoPlay = true;
equalizer.gotoAndStop(1);
playMusicFunction();
}
}
function checkRandomPlay() {
randomPlay = playlistXML.firstChild.attributes.randomize;
trace("randomPlay = " + randomPlay);
if (randomPlay == "true") {
currentTrackNum = Math.round(Math.random() * (totalTracks - 1));
trace("currentTrackNum = " + currentTrackNum);
}
}
function playMusicFunction() {
function checkTrackEnabled() {
while (playlistArray[currentTrackNum].enable == "off") {
if (currentTrackNum < (totalTracks - 1)) {
currentTrackNum++;
} else {
currentTrackNum = 0;
}
}
loadTrack = playlistArray[currentTrackNum].path;
trackLen = playlistArray[currentTrackNum].length;
}
progressBar.playProgressBar._visible = true;
audioPlayerSound.stop();
trace("SONG STARTED");
hasPlayed = true;
var loadTrack;
var trackLen;
if (playlistArray[currentTrackNum].enable == "off") {
checkTrackEnabled();
} else {
loadTrack = playlistArray[currentTrackNum].path;
trackLen = playlistArray[currentTrackNum].length;
}
trackMC.trackText.text = (playlistArray[currentTrackNum].artist.toString() + " - ") + playlistArray[currentTrackNum].title.toString();
temp.nowPlaying._visible = true;
equalizer.gotoAndStop(1);
pauseButton.enabled = true;
playButton.enabled = true;
ffButton.enabled = true;
rwButton.enabled = true;
eqTween = new mx.transitions.Tween(equalizer, "_alpha", mx.transitions.easing.Strong.easeOut, 20, 70, 2, true);
trackMCTween = new mx.transitions.Tween(trackMC, "_alpha", mx.transitions.easing.Strong.easeOut, 30, 100, 2, true);
myStream.dispose();
myStream = new ActionScript.Classes.StreamingObj(loadTrack, trackLen);
audioPlayerSound.start();
showPlayProgress();
disablePlay();
}
function pauseMusic() {
equalizer.gotoAndStop(2);
eqTween = new mx.transitions.Tween(equalizer, "_alpha", mx.transitions.easing.Strong.easeOut, 70, 20, 2, true);
trackMCTween = new mx.transitions.Tween(trackMC, "_alpha", mx.transitions.easing.Strong.easeOut, 100, 30, 2, true);
curPlaybackPos = myStream.TrackPosition;
audioPlayerSound.stop();
trace(curPlaybackPos);
myStream.Stop();
disablePause();
}
function playMusic() {
function checkAutoStatus() {
if (hasPlayed == false) {
playMusicFunction();
}
}
equalizer.gotoAndStop(1);
eqTween = new mx.transitions.Tween(equalizer, "_alpha", mx.transitions.easing.Strong.easeOut, 20, 70, 2, true);
trackMCTween = new mx.transitions.Tween(trackMC, "_alpha", mx.transitions.easing.Strong.easeOut, 30, 100, 2, true);
checkAutoStatus();
myStream.Start(curPlaybackPos);
audioPlayerSound.start;
disablePlay();
}
function disablePlay() {
playButton.enabled = false;
pauseButton.enabled = true;
playButton._visible = false;
pauseButton._visible = true;
}
function disablePause() {
playButton.enabled = true;
pauseButton.enabled = false;
pauseButton._visible = false;
playButton._visible = true;
}
function nextTrack() {
if (currentTrackNum < (totalTracks - 1)) {
currentTrackNum++;
temp = eval ("contentMain.template" + currentTrackNum);
temp2 = eval ("contentMain.template" + (currentTrackNum - 1));
temp.buttonTitle.enabled = false;
temp._alpha = 70;
temp.nowPlaying._alpha = 100;
temp2.buttonTitle.enabled = true;
temp2.buttonTitle._alpha = 100;
temp2._alpha = 100;
temp2.nowPlaying._alpha = 0;
playMusicFunction();
} else {
trace(totalTracks);
currentTrackNum = 0;
temp = eval ("contentMain.template" + currentTrackNum);
temp2 = eval ("contentMain.template" + (totalTracks - 1));
temp.buttonTitle.enabled = false;
temp._alpha = 70;
temp.nowPlaying._alpha = 100;
temp2.buttonTitle.enabled = true;
temp2.buttonTitle._alpha = 100;
temp2._alpha = 100;
temp2.nowPlaying._alpha = 0;
playMusicFunction();
}
}
function prevTrack() {
if (currentTrackNum > 0) {
currentTrackNum--;
playMusicFunction();
} else {
currentTrackNum = totalTracks - 1;
playMusicFunction();
}
}
function showPlayProgress() {
progressBar.playProgressBar.onEnterFrame = function () {
var _local1 = myStream.__get__TrackDuration();
var _local2 = myStream.__get__TrackPosition();
if (_local1 > 0) {
progressBar.playProgressBar._width = (_local2 / _local1) * 100;
if (Math.ceil(_local2) == _local1) {
trace("SONG ENDED");
nextTrack();
}
}
trace((("myStream.TrackPosition = " + _local2) + "/") + _local1);
};
}
function loadList() {
var listNumber = 1;
this.createEmptyMovieClip("contentMain", 1);
contentMain._x = 6;
contentMain._y = 90;
contentMain.setMask(maskedView);
i = 0;
while (i < playlistArray.length) {
contentMain.attachMovie("template", "template" + i, i);
temp = eval ("contentMain.template" + i);
if (autoPlay == true) {
contentMain.template0.buttonTitle.enabled = false;
contentMain.template0._alpha = 70;
contentMain.template0.nowPlaying._alpha = 100;
}
temp._y = i * 68;
temp.id = i;
temp.buySong._visible = false;
temp.buyAlbum._visible = false;
if (listNumber < 10) {
temp.listNum = "0" + listNumber;
listNumber++;
} else {
temp.listNum = listNumber;
listNumber++;
}
temp.buttonTitle.enabled = true;
temp.buttonTitle.artistName = playlistArray[i].artist.toString();
temp.buttonTitle.songTitle = playlistArray[i].title.toString();
temp.buttonTitle.albumTitle = playlistArray[i].album.toString();
temp.songURL = playlistArray[i].buySongLink;
temp.albumURL = playlistArray[i].buyAlbumLink;
temp.buySong.onRelease = function () {
getURL (temp.songURL, "_blank");
};
temp.buyAlbum.onRelease = function () {
getURL (temp.albumURL, "_blank");
};
temp.thumb.loadMovie(playlistArray[i].thumb);
if ((playlistArray[i].buySongLink != undefined) && (playlistArray[i].buySongLink != null)) {
temp.buySong._visible = true;
} else {
temp.buySong._visible = false;
}
if ((playlistArray[i].buyAlbumLink != undefined) && (playlistArray[i].buyAlbumLink != null)) {
temp.buyAlbum._visible = true;
} else {
temp.buyAlbum._visible = false;
}
temp1._parent._alpha = 70;
temp1.buttonTitle.enabled = false;
temp1.buttonAdd._visible = false;
temp1.nowPlaying._alpha = 100;
temp1.nowPlaying._visible = true;
i++;
}
}
function checkCurrentTrack() {
function hideNowPlaying() {
i = 0;
while (i < playlistArray.length) {
if (currentTrackNum != i) {
temp2 = eval ("contentMain.template" + i);
temp2.buttonTitle._alpha = 100;
temp2.buttonTitle.enabled = true;
temp2.nowPlaying._visible = false;
}
i++;
}
}
temp1 = eval ("contentMain.template" + currentTrackNum);
trace("SONG " + currentTrackNum);
temp1.buttonTitle._alpha = 70;
temp1.buttonTitle.enabled = false;
temp1.buttonAdd._visible = false;
temp1.nowPlaying._alpha = 100;
temp1.nowPlaying._visible = true;
hideNowPlaying();
}
function createMediaPlayer() {
this.mediaPlayerArray[0] = new Object();
this.mediaPlayerArray[0].mainBackgroundURL = mediaPlayerXML.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;
this.mediaPlayerArray[0].tab1BGImageURL = mediaPlayerXML.firstChild.childNodes[0].childNodes[1].firstChild.nodeValue;
this.mediaPlayerArray[0].tab2BGImageURL = mediaPlayerXML.firstChild.childNodes[0].childNodes[2].firstChild.nodeValue;
this.mediaPlayerArray[0].tab3BGImageURL = mediaPlayerXML.firstChild.childNodes[0].childNodes[3].firstChild.nodeValue;
this.mediaPlayerArray[0].tab1FontColorUp = mediaPlayerXML.firstChild.childNodes[0].childNodes[4].firstChild.nodeValue;
this.mediaPlayerArray[0].tab1FontColorOver = mediaPlayerXML.firstChild.childNodes[0].childNodes[5].firstChild.nodeValue;
this.mediaPlayerArray[0].tab2FontColorUp = mediaPlayerXML.firstChild.childNodes[0].childNodes[6].firstChild.nodeValue;
this.mediaPlayerArray[0].tab2FontColorOver = mediaPlayerXML.firstChild.childNodes[0].childNodes[7].firstChild.nodeValue;
this.mediaPlayerArray[0].tab3FontColorUp = mediaPlayerXML.firstChild.childNodes[0].childNodes[8].firstChild.nodeValue;
this.mediaPlayerArray[0].tab3FontColorOver = mediaPlayerXML.firstChild.childNodes[0].childNodes[9].firstChild.nodeValue;
this.mediaPlayerArray[0].barBGColor = mediaPlayerXML.firstChild.childNodes[1].childNodes[0].firstChild.nodeValue;
this.mediaPlayerArray[0].playProgressColor = mediaPlayerXML.firstChild.childNodes[1].childNodes[1].firstChild.nodeValue;
this.mediaPlayerArray[0].buttonRollOver = mediaPlayerXML.firstChild.childNodes[1].childNodes[2].firstChild.nodeValue;
this.mediaPlayerArray[0].buttonRollOut = mediaPlayerXML.firstChild.childNodes[1].childNodes[3].firstChild.nodeValue;
this.mediaPlayerArray[0].iTunes = mediaPlayerXML.firstChild.childNodes[2].childNodes[0].firstChild.nodeValue;
this.mediaPlayerArray[0].amazonmp3 = mediaPlayerXML.firstChild.childNodes[2].childNodes[1].firstChild.nodeValue;
this.mediaPlayerArray[0].amazon = mediaPlayerXML.firstChild.childNodes[2].childNodes[2].firstChild.nodeValue;
this.mediaPlayerArray[0].fullsong = mediaPlayerXML.firstChild.childNodes[2].childNodes[3].firstChild.nodeValue;
this.mediaPlayerArray[0].fullsongtext = mediaPlayerXML.firstChild.childNodes[2].childNodes[4].firstChild.nodeValue;
}
function createTabs() {
function loadTabsBG() {
imageLoader.loadClip(mediaPlayerArray[0].tab1BGImageURL, tab1BG);
imageLoader.loadClip(mediaPlayerArray[0].tab2BGImageURL, tab2BG);
imageLoader.loadClip(mediaPlayerArray[0].tab3BGImageURL, tab3BG);
}
function loadTabFontColors() {
var _local5 = new Color(tab1Text);
var _local7 = new Color(tab2Text);
var _local9 = new Color(tab3Text);
_local5.setRGB(mediaPlayerArray[0].tab1FontColorUp);
_local7.setRGB(mediaPlayerArray[0].tab2FontColorUp);
_local9.setRGB(mediaPlayerArray[0].tab3FontColorUp);
tab1Text.onRollOver = function () {
var _local1 = new Color(tab1Text);
_local1.setRGB(mediaPlayerArray[0].tab1FontColorOver);
};
tab1Text.onRollOut = function () {
var _local1 = new Color(tab1Text);
_local1.setRGB(mediaPlayerArray[0].tab1FontColorUp);
};
tab2Text.onRollOver = function () {
var _local1 = new Color(tab2Text);
_local1.setRGB(mediaPlayerArray[0].tab2FontColorOver);
};
tab2Text.onRollOut = function () {
var _local1 = new Color(tab2Text);
_local1.setRGB(mediaPlayerArray[0].tab2FontColorUp);
};
tab3Text.onRollOver = function () {
var _local1 = new Color(tab3Text);
_local1.setRGB(mediaPlayerArray[0].tab3FontColorOver);
};
tab3Text.onRollOut = function () {
var _local1 = new Color(tab3Text);
_local1.setRGB(mediaPlayerArray[0].tab3FontColorUp);
};
}
loadTabsBG();
loadTabFontColors();
}
function updateMP() {
var _local3 = new Color(progressBar.playProgressBar);
var _local1 = new Color(progressBar.trackBG);
var _local2 = new Color(progressBar.loadProgressBar);
}
function scrolling(easing, auto, mouse) {
function updateContentPos() {
var _local1 = ((dragger._y - btnup._y) - btnup._height) / (scrollHeight - dragger._height);
contentMain.newY = Math.round(top_scroll - (scrollable * _local1));
}
loading._visible = false;
delete eval (loading.onEnterFrame());
var moveSpeed = 2;
var easingSpeed = 20;
var scrollHeight = scrollbg._height;
var scrollable = ((contentMain._height - maskedView._height) + 20);
var top_scroll = contentMain._y;
var left = scrollbg._x;
var top = scrollbg._y;
var right = scrollbg._x;
var bottom = ((scrollbg._y + scrollbg._height) - dragger._height);
if (scrollable < 0) {
dragger._visible = false;
btnup._alpha = 0;
btndown._alpha = 0;
scrollbg._alpha = 0;
btnup.enabled = false;
btndown.enabled = false;
return(undefined);
}
contentMain.onEnterFrame = function () {
if ((!easing) || (easing == undefined)) {
this._y = this.newY;
} else {
this._y = this._y + ((this.newY - this._y) / easingSpeed);
}
};
dragger.onPress = function () {
startDrag (this, false, left, top, right, bottom);
this.onMouseMove = function () {
updateContentPos();
};
};
dragger.onRelease = (dragger.onReleaseOutside = function () {
stopDrag();
delete this.onEnterFrame;
});
btnup.onPress = function () {
this.onEnterFrame = function () {
dragger._y = Math.max(top, dragger._y - moveSpeed);
updateContentPos();
};
};
btnup.onRelease = function () {
delete this.onEnterFrame;
};
btndown.onPress = function () {
this.onEnterFrame = function () {
dragger._y = Math.min(bottom, dragger._y + moveSpeed);
updateContentPos();
};
};
btndown.onRelease = function () {
delete this.onEnterFrame;
};
updateContentPos();
if (auto == true) {
onEnterFrame = function () {
if (dragger._y < bottom) {
dragger._y = dragger._y + 0.3;
updateContentPos();
} else {
dragger._y = top;
}
};
}
if (mouseWheel == true) {
var _local2 = new Object();
_local2.onMouseWheel = function (delta) {
if (dragger._y < bottom) {
dragger._y = dragger._y + (delta + 3);
updateContentPos();
} else {
dragger._y = bottom - 3;
}
if (dragger._y > top) {
dragger._y = dragger._y + delta;
updateContentPos();
} else {
dragger._y = top;
}
};
Mouse.addListener(_local2);
}
if (mouseCoord == true) {
maskedView.onEnterFrame = function () {
if (this.hitTest(_xmouse, _ymouse, false)) {
dragger._y = _ymouse;
updateContentPos();
if (dragger._y > bottom) {
dragger._y = bottom;
updateContentPos();
} else if (dragger._y < top) {
dragger._y = top;
updateContentPos();
}
}
};
}
if (barVisual == false) {
dragger._visible = false;
btnup._alpha = 0;
btndown._alpha = 0;
scrollbg._alpha = 0;
btnup.enabled = false;
btndown.enabled = false;
}
}
stop();
this._lockroot = true;
var isViral = true;
if ((urlBase == undefined) || (urlBase == null)) {
var urlBase = "";
}
if ((xmlBase == undefined) || (xmlBase == null)) {
var xmlBase = "http://cache.umusic.com/web_assets/ladygaga/player/bornthisway/";
}
if (isViral == true) {
var thisdomain = _level0.cs.context.DOMAIN;
if ((thisdomain == "sdk.interscope2.igadev.com") || (thisdomain == "www.interscope.com")) {
var xmlFile = (xmlBase + "xml/playlist.xml");
_root.btn_fullSong._visible = false;
} else {
var xmlFile = (xmlBase + "xml/playlist.xml");
}
}
var curPlaybackPos;
var soundLoadedPercent;
var currentTrackNum = 0;
var totalTracks = 0;
var randomPlay;
var autoStart;
var hasPlayed = false;
var myStream;
var audioPlayerSound = new Sound(myStream);
var playlistArray = new Array();
var imageLoader = new MovieClipLoader();
var mediaPlayerArray = new Array();
equalizer.gotoAndStop(2);
equalizer._alpha = 20;
thumbMC._alpha = 100;
var autoPlay = false;
playlistXML = new XML();
playlistXML.load(xmlFile);
playlistXML.ignoreWhite = true;
playlistXML.onLoad = loadContent;
var myLoader = new MovieClipLoader();
var myListener = new Object();
myLoader.addListener(myListener);
myListener.onLoadProgress = function (target_mc, loadedBytes, totalBytes) {
preloader._visible = true;
var _local1 = Math.round((loadedBytes / totalBytes) * 100);
preloader.gotoAndStop(_local1);
};
myListener.onLoadInit = function () {
updateMP();
};
disablePause();
rwButton.onRelease = function () {
this.gotoAndStop(1);
myStream.Stop();
prevTrack();
checkCurrentTrack();
};
rwButton.onRollOver = function () {
this.gotoAndPlay("rollOver");
};
rwButton.onRollOut = function () {
this.gotoAndPlay("rollOut");
};
ffButton.onRelease = function () {
this.gotoAndStop(1);
myStream.Stop();
nextTrack();
checkCurrentTrack();
};
ffButton.onRollOver = function () {
this.gotoAndPlay("rollOver");
};
ffButton.onRollOut = function () {
this.gotoAndPlay("rollOut");
};
playButton.onRelease = function () {
this.gotoAndStop(1);
_root.playMusic();
checkCurrentTrack();
};
playButton.onRollOver = function () {
this.gotoAndPlay("rollOver");
};
playButton.onRollOut = function () {
this.gotoAndPlay("rollOut");
};
pauseButton.onRelease = function () {
this.gotoAndStop(1);
pauseMusic();
};
pauseButton.onRollOver = function () {
this.gotoAndPlay("rollOver");
};
pauseButton.onRollOut = function () {
this.gotoAndPlay("rollOut");
};
btn_iTunes.onRollOver = function () {
this._alpha = 100;
};
btn_iTunes.onRollOut = function () {
this._alpha = 50;
};
btn_iTunes.onRelease = function () {
if (playlistArray[currentTrackNum].buyNowLink != undefined) {
ms.processURL(playlistArray[currentTrackNum].buyNowLink, -60, -14);
}
};
btn_amazonmp3.onRelease = function () {
getURL (mediaPlayerArray[0].amazonmp3, "_blank");
};
btn_amazonmp3.onRollOver = function () {
this._alpha = 55;
};
btn_amazonmp3.onRollOut = function () {
this._alpha = 100;
};
btn_fullSong.onRelease = function () {
getURL (mediaPlayerArray[0].fullsong, "_blank");
};
btn_fullSong.onRollOver = function () {
this._alpha = 55;
};
btn_fullSong.onRollOut = function () {
this._alpha = 100;
};
var easing = true;
var auto = false;
var mouseWheel = false;
var mouseCoord = true;
var barVisual = true;
if (popupLink == "no") {
popup._visible = false;
} else {
popup._visible = true;
}
if (mainColor == undefined) {
var mainColor = "0xcc0001";
}
if (accentColor == undefined) {
var accentColor = "0x8e0001";
}
if (tertiaryColor == undefined) {
var tertiaryColor = "0x303030";
}
if (fontSize == undefined) {
var fontSize = 24;
}
var progressBGColor = new Color("_root.progressBar.trackBG");
progressBGColor.setRGB(3355443);
var progressColor = new Color("_root.progressBar.playProgressBar");
progressColor.setRGB(_root.accentColor);
var eqColor = new Color("equalizer");
eqColor.setRGB(_root.tertiaryColor);
var npColor = new Color("nowPlaying");
npColor.setRGB(_root.tertiaryColor);
var style = new TextFormat();
style.size = fontSize;
trackMC.onEnterFrame = function () {
trackMC.trackText.setNewTextFormat(style);
};
Instance of Symbol 7 MovieClip in Symbol 10 MovieClip Frame 1
onClipEvent (load) {
n = int(Math.random() * this._totalframes);
this.gotoAndPlay(n);
}
Symbol 10 MovieClip Frame 35
stop();
Symbol 11 MovieClip Frame 1
stop();
Symbol 16 MovieClip Frame 1
stop();
Symbol 18 Button
on (rollOver) {
gotoAndPlay ("rollOver");
}
on (rollOut, dragOut) {
gotoAndPlay ("rollOut");
}
Symbol 19 MovieClip Frame 1
stop();
var pauseColor = new Color("pauseSymbol");
pauseColor.setRGB(_root.mainColor);
Symbol 19 MovieClip Frame 3
stop();
var pauseColor = new Color("pauseSymbol");
pauseColor.setRGB(_root.accentColor);
Symbol 19 MovieClip Frame 5
stop();
var pauseColor = new Color("pauseSymbol");
pauseColor.setRGB(_root.mainColor);
Symbol 23 MovieClip Frame 1
stop();
var playColor = new Color("playSymbol");
playColor.setRGB(_root.mainColor);
Symbol 23 MovieClip Frame 3
stop();
var playColor = new Color("playSymbol");
playColor.setRGB(_root.accentColor);
Symbol 23 MovieClip Frame 5
var playColor = new Color("playSymbol");
playColor.setRGB(_root.mainColor);
Symbol 28 MovieClip Frame 1
playProgressBar._visible = false;
Symbol 29 MovieClip [__Packages.ActionScript.Classes.StreamingObj] Frame 0
class ActionScript.Classes.StreamingObj
{
var trackLength, xml, serverName, appName, instName, streamName, connectTimeout, netConnectIndex, netConnectInterval, connection_nc, stream_ns, isVideo;
function StreamingObj (trackSrc, trackLen) {
trackLength = 0;
if (trackLen.length > 0) {
var _local2 = trackLen.split(":");
trackLength = (parseInt(_local2[0]) * 60) + parseInt(_local2[1]);
}
trace("TRACK LENGTH:" + trackLength);
initXml(trackSrc);
}
function initXml(src) {
xml = new XML();
xml.ignoreWhite = true;
xml.host = this;
xml.onLoad = function (success) {
this.host.xmlOnLoad(success, this);
};
xml.load(src);
}
function xmlOnLoad(success, xml) {
if (success) {
var _local5 = [];
var _local4 = xml.childNodes[0];
var _local2 = 0;
while (_local2 < _local4.childNodes.length) {
var _local3 = _local4.childNodes[_local2];
_local5[_local3.nodeName] = _local3.firstChild.nodeValue;
_local2++;
}
playerConnect(_local5);
} else {
trace("Error loading XML.");
}
}
function playerConnect(args) {
serverName = args.serverName;
appName = args.appName;
instName = args.instName;
streamName = args.streamName;
connectTimeout = setInterval(this, "onConnectTimeout", streamingTimeoutSecs * 1000);
netConnect();
}
function onConnectTimeout() {
clearInterval(connectTimeout);
var _local2 = 0;
while (_local2 < connList.length) {
killConnection(_local2);
_local2++;
}
}
function killConnection(i) {
if (netConnArr[i].pending) {
netConnArr[i].onStatus = null;
netConnArr[i].close();
netConnArr[i] = null;
delete netConnArr[i];
}
}
function generateConnString(i) {
var _local2;
_local2 = (((((connList[i].protocol + "://") + serverName) + ":") + connList[i].port) + "/") + appName;
if (instName) {
_local2 = _local2 + ("/" + instName);
}
return(_local2);
}
function netConnect() {
var _local2 = 0;
while (_local2 < connList.length) {
netConnArr[_local2] = new NetConnection();
netConnArr[_local2].connIndex = _local2;
netConnArr[_local2].host = this;
netConnArr[_local2].pending = true;
netConnArr[_local2].onStatus = function (info) {
this.pending = false;
switch (info.code) {
case "NetConnection.Connect.Success" :
clearInterval(this.host.connectTimeout);
clearInterval(this.host.netConnectInterval);
var _local2 = 0;
while (_local2 < this.host.connList.length) {
if (_local2 != this.connIndex) {
this.host.killConnection(_local2);
}
_local2++;
}
trace("Connected!");
this.host.startStream(this);
break;
default :
}
};
_local2++;
}
netConnectIndex = 0;
tryNextNetConnect();
}
function tryNextNetConnect() {
var _local2;
_local2 = generateConnString(netConnectIndex);
trace("Trying Connection " + netConnectIndex);
clearInterval(netConnectInterval);
netConnArr[netConnectIndex].connect(_local2);
if (netConnectIndex < (connList.length - 1)) {
netConnectIndex++;
netConnectInterval = setInterval(this, "tryNextNetConnect", 1500);
}
}
function startStream(conn) {
connection_nc = conn;
stream_ns = new NetStream(connection_nc);
stream_ns.host = this;
stream_ns.setBufferTime(5);
stream_ns.receiveVideo(isVideo);
stream_ns.receiveAudio(true);
stream_ns.onStatus = mx.utils.Delegate.create(this, onStatusChanged);
stream_ns.onMetaData = function (info) {
var _local2 = Math.round(info.duration);
if (_local2 > 0) {
this.host.trackLength = _local2;
}
};
streamStopped = false;
stream_ns.play(streamName);
}
function onStatusChanged(infoObject) {
for (var _local3 in infoObject) {
}
switch (infoObject.code) {
case "NetStream.Play.Stop" :
streamStopped = true;
break;
case "NetStream.Buffer.Empty" :
if (!streamStopped) {
break;
}
}
}
function formatMinutes(val) {
var _local2 = Math.floor(val / 60);
var _local1 = Math.round(val) % 60;
return((_local2 + ":") + _local1);
}
function dispose() {
if (stream_ns != null) {
stream_ns.close();
delete stream_ns;
}
}
function get BytesLoaded() {
return(stream_ns.bufferLength);
}
function get MinuteDivisor() {
return(1);
}
function get BytesTotal() {
return(stream_ns.bufferTime);
}
function get TrackPosition() {
return(stream_ns.time);
}
function get TrackDuration() {
return(trackLength);
}
function Start(offset) {
if (offset > 0) {
stream_ns.pause(false);
} else {
stream_ns.seek(0);
}
}
function Stop() {
stream_ns.pause(true);
}
var netConnArr = new Array();
var connected = false;
var streamingTimeoutSecs = 10;
var streamStopped = false;
var connList = [{protocol:"rtmp", port:1935}, {protocol:"rtmp", port:443}, {protocol:"rtmpt", port:80}, {protocol:"rtmps", port:80}];
}
Symbol 30 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 31 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 32 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 33 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween
{
var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime;
function Tween (obj, prop, func, begin, finish, duration, useSeconds) {
mx.transitions.OnEnterFrameBeacon.init();
if (!arguments.length) {
return;
}
this.obj = obj;
this.prop = prop;
this.begin = begin;
position = (begin);
this.duration = (duration);
this.useSeconds = useSeconds;
if (func) {
this.func = func;
}
this.finish = (finish);
_listeners = [];
addListener(this);
start();
}
function set time(t) {
prevTime = _time;
if (t > duration) {
if (looping) {
rewind(t - _duration);
update();
broadcastMessage("onMotionLooped", this);
} else {
if (useSeconds) {
_time = _duration;
update();
}
stop();
broadcastMessage("onMotionFinished", this);
}
} else if (t < 0) {
rewind();
update();
} else {
_time = t;
update();
}
//return(time);
}
function get time() {
return(_time);
}
function set duration(d) {
_duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d));
//return(duration);
}
function get duration() {
return(_duration);
}
function set FPS(fps) {
var _local2 = isPlaying;
stopEnterFrame();
_fps = fps;
if (_local2) {
startEnterFrame();
}
//return(FPS);
}
function get FPS() {
return(_fps);
}
function set position(p) {
setPosition(p);
//return(position);
}
function setPosition(p) {
prevPos = _pos;
obj[prop] = (_pos = p);
broadcastMessage("onMotionChanged", this, _pos);
updateAfterEvent();
}
function get position() {
return(getPosition());
}
function getPosition(t) {
if (t == undefined) {
t = _time;
}
return(func(t, begin, change, _duration));
}
function set finish(f) {
change = f - begin;
//return(finish);
}
function get finish() {
return(begin + change);
}
function continueTo(finish, duration) {
begin = position;
this.finish = (finish);
if (duration != undefined) {
this.duration = (duration);
}
start();
}
function yoyo() {
continueTo(begin, time);
}
function startEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.addListener(this);
} else {
_intervalID = setInterval(this, "onEnterFrame", 1000 / _fps);
}
isPlaying = true;
}
function stopEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.removeListener(this);
} else {
clearInterval(_intervalID);
}
isPlaying = false;
}
function start() {
rewind();
startEnterFrame();
broadcastMessage("onMotionStarted", this);
}
function stop() {
stopEnterFrame();
broadcastMessage("onMotionStopped", this);
}
function resume() {
fixTime();
startEnterFrame();
broadcastMessage("onMotionResumed", this);
}
function rewind(t) {
_time = ((t == undefined) ? 0 : (t));
fixTime();
update();
}
function fforward() {
time = (_duration);
fixTime();
}
function nextFrame() {
if (useSeconds) {
time = ((getTimer() - _startTime) / 1000);
} else {
time = (_time + 1);
}
}
function onEnterFrame() {
nextFrame();
}
function prevFrame() {
if (!useSeconds) {
time = (_time - 1);
}
}
function toString() {
return("[Tween]");
}
function fixTime() {
if (useSeconds) {
_startTime = getTimer() - (_time * 1000);
}
}
function update() {
position = (getPosition(_time));
}
static var version = "1.1.0.52";
static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init();
static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true);
function func(t, b, c, d) {
return(((c * t) / d) + b);
}
}
Symbol 34 MovieClip [__Packages.mx.transitions.easing.Strong] Frame 0
class mx.transitions.easing.Strong
{
function Strong () {
}
static function easeIn(t, b, c, d) {
t = t / d;
return((((((c * t) * t) * t) * t) * t) + b);
}
static function easeOut(t, b, c, d) {
t = (t / d) - 1;
return((c * (((((t * t) * t) * t) * t) + 1)) + b);
}
static function easeInOut(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return(((((((c / 2) * t) * t) * t) * t) * t) + b);
}
t = t - 2;
return(((c / 2) * (((((t * t) * t) * t) * t) + 2)) + b);
}
static var version = "1.1.0.52";
}