Hola voy a tratar de ir al grano y ser lo mas claro posible.
Es mi primer post aqui.
Tengo un reproductor flash para mp3 con playlist xml.
Es justo lo que necesito para incrustarlo en una web flash que estoy trabajando, todo esta perfecto, pero ahora explico el unico "detalle" que ya me tiene loco.
Tengo mi web flash, con sus diferentes secciones y en una de ellas cargo el playermp3 atravez de un clip de pelicula vacio, asta ahi todo bien, pues el player funciona y todo, pero este player a de tener alguna linea en su codigo que hace que se adapte al tamaño de la pelicula que lo contiene.
Osea la pelicula del player mide como 350 pixeles y es mas o menos el tamaño del espacio donde quiero cargarlo, pero al cargar se expande al tamaño de toda mi pelicula principal que son 760px partiendo de la cordenada 0 del clip vacio claro, saliendoce del margen totalmente.
Dejo una imagen.

El .fla del player funciona con dos archivos mas jwMp3player.as y jwPlaylist.as
Dejo el codigo del primero pues creo que ahi esta el asunto:
Código ActionScript :
// shared class for loading and parsing of playlist import jwPlaylist; // system class for event delegation import mx.utils.Delegate; // system class for javascript interaction import flash.external.ExternalInterface; class jwMp3player extends MovieClip { // configuration variables private var configURL:String = "config.xml"; private var configXML:XML; private var configArray:Array = new Array( { autostart:'false', shuffle:'false', repeat:'none', volume:'80', showdisplay:'false', showplaylist:'true', linktarget:'_self', backcolor:'0xffffff', frontcolor:'0x000000', lightcolor:'0xcc0000', jpgfile: undefined, callback: undefined, width:250, // these two vars are re-read in the height:300 // readConfigXML function to avoid 0's } ); // playlist variables private var playlistURL:String = "playlist.xml"; private var playlistObj:jwPlaylist; private var playlistArray:Array; // sound variables public var soundState:String = "idle"; // can be idle,load,play,pause private var soundObj:Sound; private var soundPausePos:Number = 0; private var soundPlayPos:Number = 0; private var soundCurrent:Number = 0; private var soundRandom:Array = new Array(); private var soundScrubInt:Number; private var soundVolumeScrubInt:Number; private var soundShowEQ:Boolean = false; private var soundEQStripes:Number; // cover loader and listener private var coverLoader:MovieClipLoader; private var coverListener:Object; // all sub-movieclips of the mp3player movieclip private var back:MovieClip; private var displayGlow:MovieClip; private var displayEQ:MovieClip; private var displayTitle:MovieClip; private var displayCover:MovieClip; private var displayMask:MovieClip; private var controlsPlay:MovieClip; private var controlsPause:MovieClip; private var controlsPrev:MovieClip; private var controlsNext:MovieClip; private var controlsProgress:MovieClip; private var controlsVolume:MovieClip; private var playlistGlow:MovieClip; private var playlistMask:MovieClip; private var playlistScroll:MovieClip; private var playlist:MovieClip; //============================================================================== // initialization functions: // 1. jwMp3player(): simple constructor // 2. readConfig(): loads and applies config xml // 3. readFile(): loads and applies file / playlist xml // 4. buildPlaylist(): return function of a playlist readFile() //============================================================================== // constructor function jwMp3player() { // check for config and playlist file if(_root.config != undefined) { configURL = _root.config; } if(_root.file != undefined) { playlistURL = _root.file; } if(_root.autostart != undefined) { configArray[0]['autostart'] = _root.autostart; } // set stage variables setStageVars(); // get all config info readConfig(); // set javascript control target if (ExternalInterface.available) { var scs:Boolean = ExternalInterface.addCallback("jsControl",this,jsPerformer); } }; // stage variables and rightclick menu private function setStageVars() { var newMenu:ContextMenu = new ContextMenu(); newMenu.hideBuiltInItems(); newMenu.customItems.push(new ContextMenuItem("Flash MP3 Player 2.3.1 by Jeroenwijering...",goTo)); _root.menu = newMenu; function goTo() { getURL("http://www.jeroenwijering.com/?item=Flash_MP3_Player"); }; Stage.scaleMode = "noScale"; Stage.align = "TL"; // width and height are also re-read here to avoid 0-0 sizes! configArray[0]['width'] = Stage.width; configArray[0]['height'] = Stage.height; }; // read config xml private function readConfig() { // setup config xml configXML = new XML(); configXML.ignoreWhite = true; configXML['parent'] = this; // parse data from xml configXML.onLoad = function(success:Boolean) { if(success) { var itm = this.firstChild.firstChild; while (itm != null) { this.parent.configArray[0][itm.nodeName] = itm.firstChild.nodeValue; itm = itm.nextSibling; } trace(this.parent.configArray[0]['height']); if(this.parent.configArray[0]['height'] < 30) { this.parent.configArray[0]['showdisplay'] = 'false'; } } else { // just use the default values } // delete XML delete this.parent.configXML; // start playlist building this.parent.setSizesColorsButtons(); this.parent.readFile(); }; // start loading XML from file configXML.load(configURL); }; // read playlist or set single file (publicly accessible) public function readFile(fl:String) { if(fl) { playlistURL = fl; } // remove old playlist buttons (for extra playlist functionality) for(var i=0; i<playlistArray.length; i++) { playlist['button'+i].removeMovieClip(); } playlistArray = new Array(); // reset old sound object soundObj = new Sound(); soundCurrent = 0; soundState = "idle"; // check for single file if(playlistURL.substr(-4,4).toLowerCase() == '.mp3') { // set single file playlist var tit = playlistURL.substring(playlistURL.lastIndexOf('/')+1,playlistURL.length-4); playlistArray.push({title:tit,file:playlistURL,link:''}); if(configArray[0]['autostart'] == 'true') { playSong(); } // if not, parse playlist } else { playlistObj = new jwPlaylist(); playlistObj.addEventListener("read", Delegate.create(this, buildPlaylist)); playlistObj.readPlaylist(playlistURL); } }; // small return function that parses playlist object private function buildPlaylist(obj:Object) { playlistArray = obj.playlist; delete playlistObj; setPlaylistSizesColorsButtons(); if(configArray[0]['showdisplay'] == 'true') { checkForCover(); } if(configArray[0]['autostart'] == 'true') { playSong(); } }; //============================================================================== // javascript controls delegate function //============================================================================== function jsPerformer(func:String, param:String) { if (func == "pause") { playPause(); } else if (func == "play") { playSong(Number(param)); } else if (func == "scrub") { scrubSong(Number(param)); } else if (func == "volume") { setVolume(Number(param)); } else if (func == "link") { getLink(Number(param)); } else if (func == "load") { readFile(param); } }; //============================================================================== // all sound control functions are set here //============================================================================== // start playing first file public function playSong(i:Number) { playlist['button'+soundCurrent].back._alpha = 0; soundState = "load"; soundPausePos = 0; if(i != undefined) { soundCurrent = i; } else if (configArray[0]['shuffle'] == 'true') { setRandomCurrent(); } playlist['button'+soundCurrent].back._alpha = 25; controlsPlay._visible = false; controlsPause._visible = true; // start the sound object soundObj = new Sound(this); soundObj['parent'] = this; // check shuffle config to see what to do when a song is finished soundObj.onSoundComplete = function() { this.parent.callBack("complete"); if (this.parent.configArray[0]['repeat'] == 'all') { this.parent.nextSong(); } else if (this.parent.configArray[0]['repeat'] == 'one') { this.parent.playSong(this.parent.soundCurrent); } else if (this.parent.configArray[0]['repeat'] == 'list' && ((this.parent.soundCurrent != this.parent.playlistArray.length - 1 && this.parent.configArray[0]['shuffle'] == "false") || this.parent.soundRandom.length != 0)) { this.parent.nextSong(); } else { this.parent.soundState = "idle"; } }; // load album cover if any if(configArray[0]['showdisplay'] == 'true') { checkForCover(); } // load the file and set the volume soundObj.loadSound(playlistArray[soundCurrent]['file'],true); setVolume(Number(configArray[0]['volume'])); soundObj.start(); callBack("start"); }; // send callback if url is set private function callBack(action:String) { if(configArray[0]['callback'] != undefined) { trace(configArray[0]['callback']); var send_lv:LoadVars = new LoadVars(); send_lv.file = playlistArray[soundCurrent]['file']; send_lv.title = playlistArray[soundCurrent]['title']; send_lv.identifier = playlistArray[soundCurrent]['identifier']; send_lv.playlist = playlistURL; send_lv.action = action; send_lv.sendAndLoad(configArray[0]['callback'],send_lv, "POST"); } }; // set a random current song to play private function setRandomCurrent() { // if just started, fill random array if(soundRandom.length == 0) { for(var k=0; k<playlistArray.length; k++) { soundRandom.push(k); } } // else get a random one var rd = random(soundRandom.length); soundCurrent = soundRandom[rd]; soundRandom.splice(rd,1); }; // pause/play current song public function playPause() { if (soundState == 'idle') { playSong(); soundState = 'load'; } else if(soundPausePos > 0) { soundObj.start(soundPausePos); soundPausePos = 0; soundState = "play"; } else { soundPausePos = soundObj.position/1000; soundObj.stop(); soundState = "pause"; } }; // start next song private function nextSong() { if(configArray[0]['shuffle'] == 'true') { playSong(); } else if (soundCurrent == playlistArray.length - 1) { playSong(0); } else { playSong(soundCurrent + 1); } }; // start previous song private function prevSong() { if(configArray[0]['shuffle'] == 'true') { playSong(soundRandom[soundRandom.length-1]); } else if (soundCurrent == 0) { playSong(playlistArray.length-1); } else { playSong(soundCurrent - 1); } }; // start scrubbing of the playbar private function startScrubbing() { soundScrubInt = setInterval(this,"scrubSong",40); }; // stop scrubbing of the playbar private function stopScrubbing() { clearInterval(soundScrubInt); }; // scrub to a certain position public function scrubSong(xm) { if( xm == undefined) { var xm = Math.round(controlsProgress.loa._xmouse/controlsProgress.loa._width*controlsProgress.loa._xscale); } else { xm = xm/(soundObj.duration/1000)*100; } if (xm > 0 && xm < 100) { controlsProgress.tme._xscale = xm; soundObj.stop(); soundObj.start(Math.round(soundObj.duration*xm/100000)); soundState = "play"; soundPausePos = 0; } }; // start scrubbing of the volume bar private function startVolumeScrubbing() { soundVolumeScrubInt = setInterval(this,"scrubVolume",40); }; // stop scrubbing of the volume bar private function stopVolumeScrubbing() { clearInterval(soundVolumeScrubInt); }; // volume scrubbing interval function private function scrubVolume() { var xm = controlsVolume._xmouse; var fx = controlsVolume.front._x; var fw = controlsVolume.front._width; var vl = Math.round((xm-fx)/fw*100); setVolume(vl); }; // set a certain volume public function setVolume(vl:Number) { if(vl >=0 && vl <=100) { configArray[0]['volume'] = vl; soundObj.setVolume(vl); controlsVolume.mask._width = vl/5; } }; // get a link from the playlist public function getLink(i:Number) { getURL(playlistArray[i]['link'],configArray[0]['linktarget']); } //============================================================================== // all the interface-related stuff is set here //============================================================================== // set the display and controlbar colors, dimensions and button presses private function setSizesColorsButtons() { // extra reference to config array var configArray = this.configArray; // back image, size and color if(configArray[0]['jpgfile'] != undefined) { back.loadMovie(configArray[0]['jpgfile']); displayGlow._visible = false; playlistGlow._visible = false; } else { back._width = configArray[0]['width']; back.col = new Color(back); back.col.setRGB(configArray[0]['backcolor']); back._height = configArray[0]['height']; } // display sizes and colors if(configArray[0]['showdisplay'] == 'true') { displayGlow._width = configArray[0]['width']; displayMask._width = configArray[0]['width'] - 16; displayTitle.tf.textColor = configArray[0]['lightcolor']; displayTitle.tf.autoSize = true; setEqualizer(); displayTitle.setMask(displayMask); displayCover.line.col = new Color(displayCover.line); displayCover.line.col.setRGB(configArray[0]['lightcolor']); addCoverLoader(); } else { displayGlow._visible = displayEQ._visible = displayTitle._visible = displayMask._visible = false; controlsPlay._y = controlsPause._y = controlsNext._y = controlsPrev._y = controlsProgress._y = controlsVolume._y = 0; playlistGlow._y = 18; playlist._y = 19; } displayCover._visible = false; // play and pause buttons controlsPlay.icn.col = new Color(controlsPlay.icn); controlsPlay.icn.col.setRGB(configArray[0]['frontcolor']); controlsPause.icn.col = new Color(controlsPause.icn); controlsPause.icn.col.setRGB(configArray[0]['frontcolor']); controlsPause._visible = false; controlsPlay.onRollOver = controlsPause.onRollOver = function() { this.icn.col.setRGB(configArray[0]['lightcolor']); }; controlsPlay.onRollOut = controlsPause.onRollOut = function() { this.icn.col.setRGB(configArray[0]['frontcolor']); }; controlsPlay.onPress = controlsPause.onPress = function() { this._parent.playPause(); } // hide next prev (will be shown later if needed) controlsNext._visible = controlsPrev._visible = false; // progress bar controlsProgress._x -= 34; controlsProgress._width = configArray[0]['width'] - 56; controlsProgress.tme.col = new Color(controlsProgress.tme); controlsProgress.tme.col.setRGB(configArray[0]['frontcolor']); controlsProgress.loa.col = new Color(controlsProgress.loa); controlsProgress.loa.col.setRGB(configArray[0]['frontcolor']); controlsProgress.loa._xscale = controlsProgress.tme._xscale = 0; controlsProgress.loa.onRollOver = function() { this._parent.tme.col.setRGB(configArray[0]['lightcolor']); }; controlsProgress.loa.onRollOut = function() { this._parent.tme.col.setRGB(configArray[0]['frontcolor']); }; controlsProgress.loa.onPress = function() { this._parent._parent.startScrubbing(); } controlsProgress.loa.onRelease = controlsProgress.loa.onReleaseOutside = function() { this._parent._parent.stopScrubbing(); } // volume bar controlsVolume._x = configArray[0]['width'] - 38; controlsVolume.icn.col = new Color(controlsVolume.icn); controlsVolume.icn.col.setRGB(configArray[0]['frontcolor']); controlsVolume.front.col = new Color(controlsVolume.front); controlsVolume.front.col.setRGB(configArray[0]['frontcolor']); controlsVolume.back.col = new Color(controlsVolume.back); controlsVolume.back.col.setRGB(configArray[0]['frontcolor']); controlsVolume.back.onRollOver = function() { this._parent.front.col.setRGB(configArray[0]['lightcolor']); }; controlsVolume.back.onRollOut = function() { this._parent.front.col.setRGB(configArray[0]['frontcolor']); }; controlsVolume.back.onPress = function() { this._parent._parent.startVolumeScrubbing(); } controlsVolume.back.onRelease = controlsVolume.back.onReleaseOutside = function() { this._parent._parent.stopVolumeScrubbing(); } // hide playlist (will be shown later if needed) playlistGlow._width = configArray[0]['width']; playlistGlow._height = configArray[0]['height'] - playlistGlow._y; playlist._visible = playlist.button._visible = playlistGlow._visible = false; setInterval(this,"interfaceUpdater",200); }; // set sizes and colors of playlist private function setPlaylistSizesColorsButtons() { // extra reference to config array var configArray = this.configArray; // prev/next buttons controlsPrev._visible = controlsNext._visible = true; controlsPrev.icn.col = new Color(controlsPrev.icn); controlsPrev.icn.col.setRGB(configArray[0]['frontcolor']); controlsNext.icn.col = new Color(controlsNext.icn); controlsNext.icn.col.setRGB(configArray[0]['frontcolor']); controlsPrev.onRollOver = controlsNext.onRollOver = function() { this.icn.col.setRGB(configArray[0]['lightcolor']); }; controlsPrev.onRollOut = controlsNext.onRollOut = function() { this.icn.col.setRGB(configArray[0]['frontcolor']); }; controlsPrev.onPress = function() { this._parent.prevSong(); } controlsNext.onPress = function() { this._parent.nextSong(); } // progress bar controlsProgress._width = configArray[0]['width'] - 90; controlsProgress._x = 52; // iterate playlist sizes, colors and rollovers if((configArray[0]['showplaylist'] == 'true')) { playlist._visible = playlistGlow._visible = true; for(var i=0; i<playlistArray.length; i++) { // duplicate buttons and set size/color playlist.button.duplicateMovieClip('button'+i,i); var tgt = playlist['button'+i]; tgt._y = i*20; tgt.tf._width = configArray[0]['width'] - 12; tgt.tf.text = playlistArray[i]['title']; tgt.back._width = configArray[0]['width'] - 2; tgt.glow._width = configArray[0]['width'] - 2; tgt.tf.textColor = configArray[0]['frontcolor']; tgt.back._alpha = 0; tgt.back.col = new Color(tgt.back); tgt.back.col.setRGB(configArray[0]['lightcolor']); tgt.back._alpha = 0; // set button functions tgt.back.onRollOver = function() { this._parent.tf.textColor = configArray[0]['lightcolor']; }; tgt.back.onRollOut = function() { this._parent.tf.textColor = configArray[0]['frontcolor']; }; tgt.back.onPress = function() { this._parent._parent._parent.playSong(this._parent.getDepth()); }; // set link functions if (playlistArray[i]['link'].length > 4) { tgt.link._x = configArray[0]['width'] - 22; tgt.link.col = new Color(tgt.link); tgt.link.col.setRGB(configArray[0]['frontcolor']); tgt.link.onRollOver = function() { this.col.setRGB(configArray[0]['lightcolor']); }; tgt.link.onRollOut = function() { this.col.setRGB(configArray[0]['frontcolor']); }; tgt.link.onPress = function() { this._parent._parent._parent.getLink(this._parent.getDepth()); }; } else { tgt.link._visible = false; } } if(playlist._height > playlistGlow._height) { playlistScroll._visible = true; init_scroller(); playlistGlow.duplicateMovieClip("playlistMask",1); playlist.setMask(playlistMask); } else { playlistScroll._visible = false; playlist._y = playlistGlow._y + 1; } } }; /** * This function frees up some space for the scrollbar, builds it, and sets up the button actions for the * scrollbar foreground and background clicks. **/ private function init_scroller() { // refer to local variables that are needed var configArray = this.configArray; var frt:MovieClip = playlistScroll.front; var playlist = this.playlist; // make all buttons ten pixels shorter for(var i=0; i<playlistArray.length; i++) { var tgt = playlist['button'+i]; tgt.tf._width = configArray[0]['width'] - 21; tgt.back._width = configArray[0]['width'] - 11; tgt.glow._width = configArray[0]['width'] - 11; tgt.link._x = configArray[0]['width'] - 31; } // set sizes and colors of the scrollbar back and front playlistScroll._x = configArray[0]['width'] - 10; playlistScroll._y = playlistGlow._y + 3; playlistScroll.back._height = playlistGlow._height - 6; playlistScroll.back.col = new Color(playlistScroll.back); playlistScroll.back.col.setRGB(configArray[0]['frontcolor']); playlistScroll.front._height = Math.round(playlistScroll.back._height*playlistGlow._height/playlist._height); playlistScroll.front.col = new Color(playlistScroll.front); playlistScroll.front.col.setRGB(configArray[0]['frontcolor']); // this scaling is the divider between the scrollbar and playlist height. var scl = playlist._height/playlistScroll.back._height; // rollover functions for the scrollbar to let people know there's something to do here. playlistScroll.back.onRollOver = playlistScroll.front.onRollOver = function() { frt.col.setRGB(configArray[0]['lightcolor']); }; // accompanying rollout function playlistScroll.back.onRollOut = playlistScroll.front.onRollOut = function() { frt.col.setRGB(configArray[0]['frontcolor']); }; // function for clicking on the back of the scrollbar playlistScroll.back.onPress = function() { // if the mouseclick is above the scrollbar front .. if(this._parent._ymouse < frt._y) { // .. go to 0 if we're close to the top .. if(frt._y < frt._height/4) { frt._y = 0; playlist._y = this._parent._y; // .. else go a little bit up } else { frt._y -= frt._height/4; playlist._y += Math.round(scl*frt._height/4); } // if the mouseclick is below the scrollbar front .. } else { // .. go to the maximum position if we're close to the bottom .. if(frt._y > this._height - frt._height*1.25) { frt._y = this._height - frt._height; playlist._y = this._parent._y + this._parent._height - playlist._height + 2; // .. else go a little bit down } else { frt._y += frt._height/4; playlist._y -= Math.round(scl*frt._height/4); } } }; // function for clicking on the front of the scrollbar. // this seems to cause the problems in the windowsmobile version. // if you comment the line with 'startDrag' and uncomment the other lines // with code in this function, you have a 2nd way to scroll the playlist. playlistScroll.front.onPress = function() { this.startDrag(false,0,0,0,this._parent.back._height-this._height); // this.ym = this._parent._ymouse; // this.yp = this._y; // every frame this function updates the playlist position based upon the playlist front position. this.onEnterFrame = function() { // this._y = this.yp + this._parent._ymouse - this.ym; if(this._y <= 0) { // this._y = 0; playlist._y = this._parent._y; } else if ( this._y >= this._parent.back._height-this._height) { // this._y = this._parent.back._height-this._height; playlist._y = this._parent._y + this._parent._height - playlist._height + 2; } else { playlist._y = -scl*(this._y - this._parent.back._y) + this._parent._parent.playlistGlow._y; } }; }; // when releasing the mouse, the dragging and enterframe are stopped. // comment the 'stopDrag' line and uncomment the 'this._y' line to try the 2nd way to scroll the playlist. playlistScroll.front.onRelease = playlistScroll.front.onReleaseOutside = function() { this.stopDrag(); // this._y = this._parent.front._y; delete this.onEnterFrame; }; }; // set correct display title / scrubbars / equalizer height private function interfaceUpdater() { // get title info var txt = '<font color="#'+configArray[0]['lightcolor'].substring(2,8)+'">'; txt += '<b>'+playlistArray[soundCurrent]['title']+'</b> '; // show loading progress var pcl = Math.round(soundObj.getBytesLoaded()/soundObj.getBytesTotal()*100); controlsProgress.loa._xscale = pcl; // set all items for idle display if(soundState == 'idle') { soundShowEQ = false; soundPausePos = 0; controlsProgress.tme._xscale = 0; controlsPlay._visible = true; controlsPause._visible = false; } else if(soundState == 'load' || soundState == 'play') { soundShowEQ = false; controlsPlay._visible = false; controlsPause._visible = true; // show playing progress var pcp = Math.round(soundObj.position/soundObj.duration*pcl); controlsProgress.tme._xscale = pcp; // show eq if sound plays during loading var pp = soundObj.position; if(pp > soundPlayPos) { soundShowEQ = true; } soundPlayPos = pp; // switch display to play is loaded is 100% if(pcl > 99) { soundState = "play"; var posm = int((soundObj.position/1000)/60); var poss = int((soundObj.position/1000)%60); var durm = int((soundObj.duration/1000)/60); var durs = int((soundObj.duration/1000)%60); txt += '- '+checkD(posm)+':'+checkD(poss)+'/'+checkD(durm)+':'+checkD(durs)+' '; } else { soundState = "load"; if(isNaN(pcl)){ pcl = 0; } txt += '- '+pcl+'% loaded '; } } else if (soundState == 'pause') { soundShowEQ = false; controlsPlay._visible = true; controlsPause._visible = false; txt += '- paused '; } // assign title text to display displayTitle.tf.htmlText = txt +'</font>'; // if the displayTitle is too wide, scroll it if(displayTitle._width > displayMask._width) { displayTitle.tf.htmlText = txt+txt; displayTitle.onEnterFrame = function() { this._x--; if(this._x < 8 - this._width/2) { this._x = 4; } }; } else { displayTitle._x = displayMask._x; delete displayTitle.onEnterFrame; } }; // prefixing a 0 to the time private function checkD(toCheck:Number) { if(toCheck<10) { return "0"+toCheck } else { return toCheck; } }; // playlist scrolling function private function scrollPlaylist() { // duplicate the glow to use as a mask playlistGlow.duplicateMovieClip("playlistMask",1); playlist.setMask(playlistMask); // set an enterframe function for the scrolling playlistGlow.onEnterFrame = function() { // scroll playlist if needed if(this.hitTest(_root._xmouse,_root._ymouse) == true) { // determine relative mouse position var mpos = this._ymouse/this._height*this._yscale*0.02 - 1; // determine max, min and current playlist _y var ply = this._parent.playlist._y; var maxy = this._y + 2; var miny = this._y - this._parent.playlist._height + this._height - 1; if( ply > maxy - 5 && mpos < 0) { this._parent.playlist._y = maxy; } else if (ply < miny + 5 && mpos > 0) { this._parent.playlist._y = miny; } else { this._parent.playlist._y -= Math.floor(mpos*15); } } }; }; // equalizer setup function private function setEqualizer() { // determine width of eq soundEQStripes = Math.floor((configArray[0]['width'] - 16)/6); // make a duplicate of both mask and stripes displayEQ.stripes.duplicateMovieClip("stripes2",1); displayEQ.mask.duplicateMovieClip("mask2",3); // set colors and sizes displayEQ.stripes._width = displayEQ.stripes2._width = configArray[0]['width'] - 16; displayEQ.stripes.top.col = new Color(displayEQ.stripes.top); displayEQ.stripes.top.col.setRGB(configArray[0]['lightcolor']); displayEQ.stripes.bottom.col = new Color(displayEQ.stripes.bottom); displayEQ.stripes.bottom.col.setRGB(configArray[0]['frontcolor']); displayEQ.stripes2.top.col = new Color(displayEQ.stripes2.top); displayEQ.stripes2.top.col.setRGB(configArray[0]['lightcolor']); displayEQ.stripes2.bottom.col = new Color(displayEQ.stripes2.bottom); displayEQ.stripes2.bottom.col.setRGB(configArray[0]['frontcolor']); // apply masking displayEQ.stripes.setMask(displayEQ.mask); displayEQ.stripes2.setMask(displayEQ.mask2); // set alpha for a nice fade displayEQ.stripes._alpha = displayEQ.stripes2._alpha = 50; // start the drawing functions setInterval(this,"drawEqualizerFrame",80,displayEQ.mask); setInterval(this,"drawEqualizerFrame",80,displayEQ.mask2); }; // equalizer frame drawer private function drawEqualizerFrame(tgt:MovieClip) { tgt.clear(); tgt.beginFill(0x000000, 100); tgt.moveTo(0,0); if(soundShowEQ == true) { var h = Math.round(configArray[0]['volume']/6); } else { var h = 0; } for (var j=0; j< soundEQStripes; j++) { var z = random(h)+h/2 + 2; if(j == Math.floor(soundEQStripes/2)) { z = 0; } tgt.lineTo(j*6,-1); tgt.lineTo(j*6,-z); tgt.lineTo(j*6+4,-z); tgt.lineTo(j*6+4,-1); tgt.lineTo(j*6,-1); } tgt.lineTo(j*6,0); tgt.lineTo(0,0); tgt.endFill(); }; // set Cover MovieClipLoader and resizer private function addCoverLoader() { coverLoader = new MovieClipLoader(); coverListener = new Object(); coverListener['tgt'] = displayCover.image.loader; coverLoader.addListener(coverListener); coverListener.onLoadInit = function() { this.tgt._xscale = this.tgt._yscale = 100; if(this.tgt._width < this.tgt._height) { var scl = Math.ceil(4000/this.tgt._width); } else { var scl = Math.ceil(4000/this.tgt._height); } this.tgt._xscale = this.tgt._yscale = scl; this.tgt._x = 20 - this.tgt._width/2; this.tgt._y = 20 - this.tgt._height/2; }; }; // cover art (un)setter private function checkForCover() { if(playlistArray[soundCurrent]['image']) { displayCover._visible = true; displayCover.image.setMask(displayCover.mask); displayCover.image.loader.clear(); coverLoader.loadClip(playlistArray[soundCurrent]['image'],displayCover.image.loader); displayMask._x = 60; displayEQ._x = 60; displayMask._width = configArray[0]['width'] - 70; displayEQ.stripes._width = displayEQ.stripes2._width = configArray[0]['width'] - 68; soundEQStripes = Math.floor((configArray[0]['width'] - 66)/6); } else { displayCover._visible = false; displayMask._x = 10; displayEQ._x = 12; displayMask._width = configArray[0]['width'] - 20; displayEQ.stripes._width = displayEQ.stripes2._width = configArray[0]['width'] - 18; soundEQStripes = Math.floor((configArray[0]['width'] - 16)/6); } }; }
Larguismo lo se pero creo que estan acostumbrados...
Si me pueden ayudar se los agradesco infinitamente.
