Comunidad de diseño web y desarrollo en internet online

Número aleatorio para reproductor

Citar            
MensajeEscrito el 22 Oct 2009 07:11 am
Hola a todos!
Veran, estoy realizando un reproductor mp3 en actionscript 3 que lee cada cancion desde un archivo xml, lo que sucede es que cada vez que alguien cambia a otra seccion de la página (hace click en algun link dentro de la página) se vuelve a cambiar obviamente el swf del reproductor, y la misma cancion... asi que pense en usar un número aleatorio para cargar una cancion diferente cada vez, pero no he podido, no se como hacer...
cada vez que carga el swf:

Código ActionScript :

      //.....
      xml = new XML(e.target.data);
      songlist = xml.song;
      musicReq = new URLRequest(songlist[0].url); //con esta linea carga la primera cancion con la etiqueta "url" en el xml        

      //.....

aqui esta un ejemplo del xml:

Código XML :

<lista>
<song>
      <title>Mi cancion</title>
      <artist>Artista :D</artist>
      <url>songs/Cancion de - artista.mp3</url>
   </song>
</lista>


pero no tengo ni idea de a qué evaluarle el length para que el número aleatorio no sea mayor al numero de <song>s que hay, pues, si uso un número aleatorio y es mayor, obviamente siempre cargará la última canción o sino no cargará ninguna :S, estaria muy agradecido si me ayudan con eso ^^
Hasta Luego!

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Oct 2009 07:37 am
songlist es una variable de tipo XMLList
Usa el método "lenght()" para saber la longitud

Código ActionScript :

var index:int=Math.floor(songlist.lenght()*Math.random());

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Oct 2009 08:44 am
Gracias!! ^^

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Oct 2009 08:52 am
Oh! disculpa, porqué (songlist.lenght()*Math.random())
en vez de (Math.random()*songlist.lenght())?

yo lo habia puesto de la segunda forma y no funcionaba, por que el orden es así?
Hasta Luego y gracias!

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Oct 2009 09:51 am

hormy1 escribió:

Oh! disculpa, porqué (songlist.lenght()*Math.random())
en vez de (Math.random()*songlist.lenght())?

yo lo habia puesto de la segunda forma y no funcionaba, por que el orden es así?
Hasta Luego y gracias!

Porque es "length()", NO "lenght()" como puse -es un problema mío de cruzar los dedos cuando escribo :) -

Me auto castigo, es len-Ge-Te-Hache, no len-Ge-Hache-Te, es len-Ge-Te-Hache, no len-Ge-Hache-Te, es len-Ge-Te-Hache, no len-Ge-Hache-Te, es len-Ge-Te-Hache, no len-Ge-Hache-Te,

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Oct 2009 04:38 am
Ajajaja, si si, no me habia dado cuenta, en el código si lo habia escrito bien, a lo que me refería era a que el orden que yo usaba era Math.random()*songlist.length pero tu pusiste songlist.length*Math.random() me parece extraño XD siempre usaba primero el random, y luego el valor ^^

Por hormy1

Claber

124 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Nov 2009 10:13 pm
quien me puede decir donde meter el codigo este o quien me pasa el codigo completo para hacer a mi lista de temas del reproductor aleatoriamente.

gracias

Por deku

0 de clabLevel



 

opera
Citar            
MensajeEscrito el 07 Nov 2009 12:25 pm
Hola, mmm, explica cómo es tu código, tal vez sea distinto y no se cómo lo hayas hecho.
Hasta luego!

Por hormy1

Claber

124 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.