#68 Random Play Order

open
nobody
Interface (18)
5
2007-01-22
2007-01-22
Nahuel
No

Implementacion de la funcionalidad de reproduccion aleatoria.

Esta modificacion esta realizada por Nahuel Necman
Pais: Argentina.

Se pide disculpas si no es correcta la presentacion de la descripcion.

Se modifica el archivo "xspf_player.fla"
Se agrega un movie clip "mc_shuffle" con dos estados diferentes. Uno contiene una letra S en color gris y otro en Azul. ( Shuffle on/off).
Y dentro del movie clip se agrega el boton "btn_Shuffle"

Se modifica el archivo "xspf_player.as"
Se agregan las siguientes sentencias al mismo.

//119
if (shuffle=="true"){
nextTrackRandom();
}

//143
function shuffleonoff(){
if (shuffle=="true") {
shuffle="false";
mc_shuffle.gotoAndStop(1);
}
else{

shuffle="true";
mc_shuffle.gotoAndStop(2);
}
}

//216

mc_shuffle.btn_Shuffle.onRelease = shuffleonoff;

//266 -- next track
if (shuffle=="true")
{
last_track_index = track_index;
nextTrackRandom();
loadTrack();
}

//291 -- prevTrack

if (shuffle=="true"){
track_index=last_track_index;
loadTrack();
}

//set blue color to letter 'S' if param shuffle = true
//478
if (shuffle=="false"){
mc_shuffle.gotoAndStop(1);
}else if (shuffle=="true"){
mc_shuffle.gotoAndStop(2);
}

//Función para redondear números
//502
function redondear(n, dig){
mult = "1";
for (i=0; i<dig; i++){
mult += "0";
}
tempn = n * mult;
tempn = Math.round(tempn);
n = tempn / mult;

return n;
}

//514
function nextTrackRandom(){
do {
track_index=redondear(Math.random()*playlist_size,0);
}while(last_track_index == track_index || track_index < 0 || track_index >14 );
}

Discussion

  • Nahuel
    Nahuel
    2007-01-22

    Desarrollo de Funcionalidad -Random Play Order -

     
  • Biorn Borj
    Biorn Borj
    2007-03-13

    Logged In: YES
    user_id=1742036
    Originator: NO

    Hola, lo que pretendo yo, es implementar el reproductor en mi profile de myspace, y cada vez que alguien visite mi pagina, lo unico que sea aleatorio sea el numero de la primera cancion que empiece a reproducir, o sea, que cada vez empiece sonando una cancion distinta, pero cuando acabe esta y pase a la siguiente, deje de reproducirse aleatoriamente y se reproduzcan secuencialmente sin tener que hacer ningun click. Qusiera saber si con tu modificacion esto es posible y si es asi, que es lo que tengo que hacer posteriormente con estos archivos .fla y .as en el codigo que introduzco en mi pagina, o si tengo que modificar algo de la playlist. En el archivo .rar descargable que hay aqui debajo ya esta hecha la modificacion? Perdona por este tipo de preguntas, pero es que soy relativamente novato en el xspf player. Gracias por adelantado!

     
  • Nahuel
    Nahuel
    2007-03-17

    Logged In: YES
    user_id=1698328
    Originator: YES

    Hola biorn_borj.
    Bueno, te comento que agregue un par de lineas el codigo. Ahora es posible reproducir solo el primer tema de manera aleatoria y el resto de manera continuada a partir de alli.
    Esto tiene una desventaja debido a un defecto en el programa. Solo en el caso que se ejecute de manera aleatoria en uno de los ultimos temas seguira reproduciendo hasta el final de la lista y se detendra, ya que el reproductor no comienza desde el tema uno nuevamente.
    Esto no corresponde que se modifique en este evento, ya que no es parte de su especificacion.
    Habria que iniciar un requerimiento nuevo para que esto sea desarrollado. O por lo menos deberia ser asi.

    Como soy nuevo en esto, pretendo no meter mas la pata de lo que ya la estoy metiendo en estos codigos.. jaja

    Saludos.
    Espero que te sea util.
    Nahuel Necman

    Esta modificacion esta realizada por Nahuel Necman
    Pais: Argentina.

    Se pide disculpas si no es correcta la presentacion de la descripcion.

    Descripcion:
    Se agrega el parameto nuevo opcional "shuffleone" de tipo booleano.
    Solo tiene efecto si el parametro shuffle esta definido en true.
    Si shuffleone = true y shuffle = true, entonces se iniciara la reproducion en cualquier tema de la lista de manera aleatoria. Luego se desactivara automaticamente la opcion shuffle. Por lo tanto, se continuara con la reproduccion de forma secuencial a partir del mismo.

    /*
    Ejemplo
    <p align="center">
    <object type="application/x-shockwave-flash" width="364" height="23"
    data="Musica/Reproductor/xspf_player.swf?playlist_url=Musica/ListaXSPF/lista.xspf&autoplay=true&shuffle=true&shuffleone=true" align="right">
    <param name="movie"
    value="Musica/Reproductor/xspf_player.swf?playlist_url=Musica/ListaXSPF/lista.xspf&autoplay=true&shuffle=true&shuffleone=true" />
    </object>
    </p>
    */

    Se modifica el archivo "xspf_player.as"
    Se agregan las siguientes sentencias al mismo.

    //274
    if (shuffleone=="true"){
    shuffleone="false";
    }

    //518
    if (shuffle =="true" ){
    if (shuffleone=="true"){
    shuffleone="false";
    shuffleonoff(shuffle =="true");
    }
    }
    File Added: fuente_xspf_player.rar

     
  • Nahuel
    Nahuel
    2007-03-17

    Implementacion de reproduccion aleatoria solo la primera vez

     
  • Chaos Creator
    Chaos Creator
    2007-05-15

    Logged In: YES
    user_id=1793275
    Originator: NO

    Great. Now if I could read Spanish, this might be more helpful.

     
  • Logged In: NO

    HI,
    1 -
    set "shuffle" = true, and “shuffleone” = false, to reproduce in random form indefinitely
    [“shuffleone” = false] optional

    2 -
    you must establish the parameter “shuffleone” = true and "shuffle" = true, to reproduce music in random form (only the first track).
    the parameter “shuffleone” causes that soon the reproduction continues normally at next track until the end of the list (no random)

    good luck