Webplayer MP3 : Lecture aléatoire ?, Comment on fait ? =D [Résolu]

Signaler
Messages postés
24
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
7 avril 2009
-
Messages postés
24
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
7 avril 2009
-
Bonjour ^.^

Bon, je préviens d'entrée de jeu : Je découvre Flash !
Ca a commencé hier, quand j'ai voulu modifier l'interface d'un webplayer, pour un usage personnel au sein de mon blog... Le lecteur est sous licence Creative Commons, ce qui me donne bien le droit de le modifier (je précise au cas où =D)

Le lecteur en question est XSPF Web Music Player... Pour ceux qui le connaissent, l'interface est disons... assez simpliste, et il n'y a aucun moyen de la modifier, ormis celui de modifier le fla... Je l'avais en ma possession ainsi que l'AS...

Et voici qu'arrive ma question : J'aimerais inclure une fonction de lecture aléatoire au sein du player, via un bouton... Donc j'ai le player normal :

Et j'aimerais ajouter le bouton entre "suivant" et le nom du fichier en cours de lecture... Pour ça, rien de très compliqué je suppose... Le problème est que je ne connais rien en actionscript, et sans votre aide je ne pourrai jamais inclure cette fonction de lecture aléatoire...

Si besoin, je peux fournir le code source de l'AS...

Merci d'avance, et ayez pitié du pauvre flashnoob que je suis : pas de mots trop compliqués s'il-vous-plait =D

7 réponses

Messages postés
12
Date d'inscription
dimanche 21 septembre 2003
Statut
Membre
Dernière intervention
6 août 2008

A vu de nez moi je commencerais par remplacer track_index ++; par track_index = random(playlist_size);  pour function nextTrack.
De la voir ce que ca donne et developper autour si ca marche.. mais bon je suis pas un pro non plus
Messages postés
24
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
7 avril 2009

Un petit up car apparemment ce topic n'attire pas les foules ^.^
Ah, j'oublais un détail... J'aimerais que mes noms de fichiers ne soient pas "musique01.mp3", "musique02.mp3", etc...

Maintenant, si je n'ai pas le choix ben je ferai avec, évidemment ^.^

Merci d'avance ^.^
Messages postés
24
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
7 avril 2009

Peut-être que vous pensez que j'attends une solution toute faite ? En tout cas ce n'est pas le cas... En regardant dans l'actionscript, j'ai cherché la fonction qui faisait que le lecteur passait à la piste suivante lorsque l'utilisateur clique sur "next"...

function nextTrack(){
if(track_index<playlist_size-1){
  last_track_index = track_index;
  track_index ++;
  loadTrack();
}else{
  if(repeat_playlist){
  	last_track_index = track_index;
  	track_index = 0;
  	loadTrack()
  }
}
playlist_mc.tracks_mc["track_"+last_track_index+"_mc"].bg_mc.gotoAndStop(1)
playlist_mc.tracks_mc["track_"+track_index+"_mc"].bg_mc.gotoAndStop(2)
}


Maintenant, si je crée une fonction "shuffle" (par exemple), je suppose que je devrai me baser sur ce code, et y injecter un random ? Si c'est le cas, est-ce que la suite pourrait être bonne ?

Math.round(Math.random()*(y-x))+x

Et à partir de là, extraire le numéro donné par la fonction random, pour aller rechercher la piste correspondante à ce numéro dans le fichier de playlist ?


Ca se trouve, je suis complètement nulle part, rien n'est bon et tout le monde se poile, mais au moins j'essaie =D
Messages postés
24
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
7 avril 2009

Re-bonsoir =)

J'aimerais savoir ce qu'il faut faire pour avoir de l'aide =( J'ai mal fait un truc ou...?
Messages postés
24
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
7 avril 2009

Hey c'était vraiment tout bête, ça marche bien !

- Par contre, quand il lit le dernier morceau de la playlist et que je clique sur next, rien ne se passe... Je pense qu'il y a quelque chose à modifier au niveau du else...

- Et des fois il recharge la même musique, il faudrait donc que dans la fonction shuffle il y ait quelque chose qui dise d'éviter le numéro correspondant au morceau en cours de lecture, pour éviter qu'il ne le charge deux fois de suite...

Je vais essayer de trouver des renseignements sur ces deux choses...

En tout cas merci pour cette bonne réponse, FunkyMxs ^.^
Messages postés
24
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
7 avril 2009

Je me rends compte en chipotant que je n'ai pas bien réfléchit au truc... En effet, si je crée un bouton à la suite des autres, de la manière dont j'ai commencé, ce bouton aura la même fonction que "suivante" mais aléatoirement... Tandis que la fonction shuffle consiste plutôt en un bouton qui, une fois enclenché, fait en sorte que :

- si l'on clique sur "suivante" ou "précédente", la piste suivante (ou précédente) sera choisie aléatoirement (évidemment)
- lorsque le morceau en cours de lecture arrive à sa fin, un autre morceau soit choisi aléatoirement encore

mais ces deux choses, automatiquement, sans devoir cliquer à chaque fois sur le bouton shuffle...

Du coup, j'ai l'impression que ça se complique... Je n'y connais rien, mais à mon idée, il y aura deux fonctions "play", deux "next" et deux "back", avec à chaque fois une version normale (l'actuelle), et une version shufflisée, qui sera activée si le bouton...shuffle...est activé...

Mince, ça parait énorme à faire... =S Mais si c'est pas du tout ça, tenez-moi au courant hein lol
Messages postés
24
Date d'inscription
jeudi 9 février 2006
Statut
Membre
Dernière intervention
7 avril 2009

Certains vont penser que je me complique la vie, mais j'étais en train de copier/coller les différentes fonctions énoncées ci-dessus, pour ensuite les modifier selon l'astuce de FunkyMxs, et là je me demande si il n'est pas possible de créer une variable, à inclure dans une fonction shuffle, qui dira un truc genre "si la touche est enfoncée, remplacer les "++" et les "--" des fonctions "next", "back" et "play" par "= random(playlist_size)"........"

Parce que là, mon code a doublé de volume, je ne m'y retrouvais déjà pas beaucoup avant mais là c'est galère =D

Sérieux, avouez que j'ai l'air c** et que je me complique l'existance inutilement, hein ?

En fait, je me demande si il ne vaudrait pas mieux lacher l'affaire... Jusque maintenant, 1 réponse, mais tant de questions.....