estoy haciendo un sitio integramente en flash en donde me pidieron un reproductor de audio con 5 canciones, encontre un ejemplo en internet que me vino perfecto ya soporta stream y carga las canciones desde un XML.
logre darle la estetica que queria y anda perfecto, pero el problema viene cuanod quiero ponerlo dentro demi pelicula.
probe:
crear una capa player con un keyframe con las acciones del reproductor y en el mismo keyframe poner el movieclip que contiene a los botones, pero no funciona, no se escucha la musica
loadmovie y tampoco se escucha la musica
con un scrollpane y tampoco se escuchal a musica.
probe con esto
this.createEmptyMovieClip("logo_mc", 999);
logo_mc._x = 100;
logo_mc._y = 100;
loadMovie("jukebox.swf", logo_mc);
y tampoco funciona.
aqui abajo les dejo el codigo del reproductor a ver si es alugn problema de ahi
note que al exportar el reproductor me tira este error "ReferenceError: Error #1065: No se ha definido la variable sof_mc. at jukebox_fla::player_1/jukebox_fla::frame1()" sin embargo funciona cuanod se ejecuta solo
Espero que me puedan ayudar porque me esta volviendo loco esto
Código ActionScript :
volume_mc.slider_mc.useHandCursor = true;
var musicReq:URLRequest;
var music:Sound = new Sound();
var sc:SoundChannel;
var currentSound:Sound = music;
var pos:Number;
var xml:XML;
var songlist:XMLList;
var currentIndex:Number = 0;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, whenLoaded);
function whenLoaded(e:Event):void
{
xml = new XML(e.target.data);
songlist = xml.song;
musicReq = new URLRequest(songlist[0].url);
music.load(musicReq);
sc = music.play();
sc.addEventListener(Event.SOUND_COMPLETE, nextSong);
}
loader.load(new URLRequest("jukebox.xml"));
next_btn.addEventListener(MouseEvent.CLICK, nextSong);
prev_btn.addEventListener(MouseEvent.CLICK, prevSong);
pause_btn.addEventListener(MouseEvent.CLICK,pauseSong);
play_btn.addEventListener(MouseEvent.CLICK,playSong);
stop_btn.addEventListener(MouseEvent.CLICK,stopSong);
function nextSong(e:Event):void
{
if (currentIndex < (songlist.length() - 1))
{
currentIndex++;
}
else
{
currentIndex = 0;
}
var nextReq:URLRequest = new URLRequest(songlist[currentIndex].url);
var nextTitle:Sound = new Sound(nextReq);
sc.stop();
sc = nextTitle.play();
currentSound = nextTitle;
sc.addEventListener(Event.SOUND_COMPLETE, nextSong);
}
function prevSong(e:Event):void
{
if (currentIndex > 0)
{
currentIndex--;
}
else
{
currentIndex = songlist.length() - 1;
}
var nextReq:URLRequest = new URLRequest(songlist[currentIndex].url);
var prevTitle:Sound = new Sound(nextReq);
sc.stop();
sc = prevTitle.play();
currentSound = prevTitle;
sc.addEventListener(Event.SOUND_COMPLETE, nextSong);
}
function pauseSong(e:Event):void
{
pos = sc.position;
sc.stop();
}
function playSong(e:Event):void
{
sc = currentSound.play(pos);
}
function stopSong(e:Event):void
{
sc.stop();
pos = 0;
}
//----VOLUME----//
var rect:Rectangle = new Rectangle(0,0,50,0);
volume_mc.slider_mc.addEventListener(MouseEvent.MOUSE_DOWN,dragIt);
volume_mc.slider_mc.addEventListener(MouseEvent.MOUSE_UP,dropIt);
stage.addEventListener(MouseEvent.MOUSE_UP,dropIt);
function dragIt(e:Event):void
{
e.target.startDrag(false,rect);
e.target.addEventListener(MouseEvent.MOUSE_MOVE, adjustVolume);
}
function dropIt(e:Event):void
{
var vol:Number = volume_mc.slider_mc.x * .02;
var st:SoundTransform = new SoundTransform(vol,0);
sc.soundTransform = st;
volume_mc.slider_mc.stopDrag();
volume_mc.slider_mc.removeEventListener(MouseEvent.MOUSE_MOVE, adjustVolume);
}
function adjustVolume(e:Event):void
{
var vol:Number = volume_mc.slider_mc.x * .02;
var st:SoundTransform = new SoundTransform(vol,0);
sc.soundTransform = st;
}
sof_mc.addEventListener(MouseEvent.CLICK, playAd);
function playAd(e:Event):void
{
ad_mc.play();
} 