LECTEUR MP3 AVEC PAUSE

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 - 17 mai 2007 à 14:59
 Utilisateur anonyme - 3 sept. 2008 à 16:59
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/42720-lecteur-mp3-avec-pause

Utilisateur anonyme
3 sept. 2008 à 16:59
Pour ceux que ca interessent

J'ai trouvé!

J'ai mis ce code sur la première frame de l'animation:

s = new Sound();
s.loadSound("boucle.mp3",true);
Paused = false;

Puis un deuxieme code, directement sur le bouton caché qui servira de pause:

on (keyPress "m") {

if (!Paused) {;
PausePos = s.position;
Paused = true;
s.stop();
} else {
Paused = false;
s.start(PausePos/1000);
}
}

Merci à tous et bonne continuation
Tchuss amis flashouilleurs!
Utilisateur anonyme
1 sept. 2008 à 18:46
Merci pour le tuyau!

C 'est simple mais il fallait y penser! En l'occurrence je n'y avais pas pensé, lol

Merci beaucoup
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
1 sept. 2008 à 17:49
Salut,
juste au cas ou... il faut quand même que e bouton "BoutonPause" existe, sinon...
Sinon, il vaut mieux ouvrir un nouveau sujet sur le forum, je pense que cela donnera plus de fruit qu'ici.
Bonne chance.
Utilisateur anonyme
1 sept. 2008 à 10:18
Pour vous aider, voici le code que j'ai mis sur la première frame:


//APPEL DE SON
s = new Sound();
s.loadSound("boucle.mp3",true);


//VARIABLE
Paused = false; //indique si la pause est active ou pas


//FONCTION BOUTON

BoutonPause.addEventListener("keyDown","m") = function() {
if (!Paused) { //si le son n'est pas en pause
//trace("if");
PausePos = s.position; //Stoque la durée du son dans une variable
//trace(PausePos);
Paused = true; //indique que le son est en pause
s.stop();
} else { //si le son est en pause
//trace("else");
//trace(PausePos);
Paused = false; //indique que la pause à été enlevée
s.start(PausePos/1000); //C'EST LA LE CHANGEMENT :D
}
}


Merci
Utilisateur anonyme
1 sept. 2008 à 10:15
Merci pour ta réponse,

J'ai essayé de le placer dans le code qui est donné ci-dessus mais malheureusement ca ne fonctionne pas.

Je pense que cela vient d'un mauvais positionnement.

Si qqn de plus compétent que moi pouvait m'aider

Merki
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
30 août 2008 à 15:29
Salut,
essaie peut-être avec monBouton.addEventListener("keyDown",m);
Mais je sais pas si il faut mettre le m entre guillemet ou pas. Tiens nous au courant de tes recherches.
Utilisateur anonyme
29 août 2008 à 14:16
Super !
Depuis le temps que je cherche un code simple et facilement expliqué!

Juste besoin d'une petite aide: je souhaite que la pause puisse s'effectuer grâce à un appui sur la touche "m".

J'essaye d'integrer, depuis quelques jours,un keypress dans ce code mais sans succès.
Si qqn pouvait m'aider en me donnant le code ou la manière de le rediger, ce serait fort sympathique.

Merki d'avance
cs_smoochy Messages postés 183 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 23 avril 2010
13 févr. 2008 à 13:51
ok c'est parfait, merci pour le lien :-)

bonne continuation
++
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
11 févr. 2008 à 16:16
Désolé, visiblement il y a un problème de load et renvoie à une page d'erreur donc pour la source http://inaden.free.fr/load/musik_avec_pause.zip
cs_smoochy Messages postés 183 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 23 avril 2010
11 févr. 2008 à 15:31
euh... c'est moi qui délire ou il n'y a plus de zip????
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
6 févr. 2008 à 16:46
Merci pour le compliment,
si j'ai pas fais de faute, c'est un nouveau zip avec trois version selon que l'on veut mettre en boucle, vérifier la fin du morceau ou laisser faire les choses.
cs_smoochy Messages postés 183 Date d'inscription mercredi 29 novembre 2000 Statut Membre Dernière intervention 23 avril 2010
6 févr. 2008 à 11:27
... le commentaire avec 8 mois de retard lol ^^

Juste parce que cette source m'a été très utile et qu'elle n'avait pas de note...
et avec les modifications apportées dans les commentaires elle vaut bien un 9/10
(il y a juste le zip qui pourrait être réactualisé en fonction des derniers commentaires...)

merci
++
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
14 juin 2007 à 17:22
Le code se met sur une image clé, le fichier MP3 loadé est en dehors de l'animation depuis le dossier dans lequel est l'animation, et pour tester, il suffit d'éditer l'aniamtion.
Pour bien voir : télécharge le zip !
LuffyElzaroth Messages postés 2 Date d'inscription mercredi 13 juin 2007 Statut Membre Dernière intervention 13 juin 2007
13 juin 2007 à 22:24
Bonjour tout le monde, je début totalement dans le domaine du flash, et j'ai une question qui me turlupine, ou enregistre-t-on ce code ?

Dans quel fichier ? Et surtout comment on fait pour le tester ?
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
3 juin 2007 à 11:18
Bonjour,
Pour la boucle j'ai trouvé un petit truc, mais je ne suis pas sur que ce soit ce qu'il y a de mieux.
Sinon, voilà le code actualisé :

//APPEL DE SON
s = new Sound();
s.loadSound("boucle.mp3",true);



//VARIABLE

Paused = false; //indique si la pause est active ou pas

//FONCTION BOUTON

BoutonPause.onPress = function() {
if (!Paused) { //si le son n'est pas en pause
//trace("if");
PausePos = s.position; //Stoque la durée du son dans une variable
//trace(PausePos);
Paused = true; //indique que le son est en pause
s.stop();
} else { //si le son est en pause
//trace("else");
//trace(PausePos);
Paused = false; //indique que la pause à été enlevée
s.start(PausePos/1000); //C'EST LA LE CHANGEMENT :D
}
}

//BOUCLE

onEnterFrame=function(){
PausePos = s.position;
if(PausePos==s.duration){
trace("if pausepos");
s.start(0);
}
else{
//trace("else pausepos");
//trace(PausePos);
}
}
djel57 Messages postés 38 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 17 avril 2008
3 juin 2007 à 02:01
salut!
tu pourrai pas faire une petite mise a jour de ton code stp??
je sais pas si c est la fatigue ou quoi, mais je comprend plus rien...
et comment boucle t on le son?
Sinon bonne source c cool
WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
28 mai 2007 à 13:46
Content que ça marche de nouveau.
Peg', je me doute bien que c'est du vite fait :D Mais j'avais l'occasion de relever une erreur dans ton code et je m'en suis pas privé, lol trop fier, normalement ça arrive jamais :o

Allez, à+, bonne continuation.

Clément, Flash-Nouvelle.com
thibotus Messages postés 4 Date d'inscription dimanche 2 octobre 2005 Statut Membre Dernière intervention 28 mai 2007
28 mai 2007 à 09:42
Ca marche ! Merci :)
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
28 mai 2007 à 09:42
Pas grave,
moi, ce que je trouve fou, c'est d'avoir galéré aussi longtemps et d'avoir complexifié le problème inutilement.
En tout cas, merci.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
28 mai 2007 à 09:21
Effectivement c'est vrai que j'ai pas re-re-regardé les fonctions de start(), mais comme j'ai expliqué c'est de tête .. si j'avais été sous flash, j'aurais mremis mon nez dans le dico.
Pour le coup du "var", il faut effectivement le virer du premier "var PosPause", car dans ce cas la variable n'est définie que dans le "if" et n'est donc plus existante dans le second cas . d'où l'erreur ...

Bref, moi je donne la technique et derrière, rien n'empêche les gens d'aller chercher d'eux-même où est l'erreur ...
Je serais chiant, je dirais que je fais exprès de coller des erreurs dans el code pour obliger les gens à le comprendre et pas à l'utiliser bêtement ... mais c'est pas le cas ! ;)

Peg'
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
28 mai 2007 à 08:49
Salut Messieurs Dames (difficile à dire avec les pseudos),
Eh bien j'ai essayé avec le facteur 1000... marche pas.
Enfait si on met un trace(PausePos) dans le if on a bien un chiffre, si on met un trace dans le else, on reçoit undefined.
Donc, il faut enlever le var dans le code soit :

if (!Paused) { //si le son n'est pas en pause
PausePos = s.position; //Stoque la durée du son dans une variable
Paused = true; //indique que le son est en pause
s.stop();
} else { //si le son est en pause
Paused = false; //indique que la pause à été enlevée
s.start(PausePos/1000); //C'EST LA LE CHANGEMENT :D
}
}

Merci à vous pour cette approche plus éléguante.
ça fait toujours plaisir de bosser avec des gens.
WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
28 mai 2007 à 00:10
Si c'est comme moi, je comprends, Peg', je ne sais bien coder qu'à partir de 1h du matin :D

Ah, j'ai oulié ma petite griffe :D :
Clément, Flash-Nouvelle.com
WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
28 mai 2007 à 00:06
LOL, c'est pas normal, Peg', où as-tu la tête ?
En fait, avec sound.start(PausePos), PausePos est exprimé en secondes, alors que sound.position est exprimé en millisecondes

Ainsi il convient de mettre :

BoutonPause.onPress = function() {
if (!Paused) { //si le son n'est pas en pause
var PausePos = s.position; //Stoque la durée du son dans une variable
Paused = true; //indique que le son est en pause
s.stop();
} else { //si le son est en pause
Paused = false; //indique que la pause à été enlevée
s.start(PausePos/1000); //C'EST LA LE CHANGEMENT :D
}
}

@+ !
thibotus Messages postés 4 Date d'inscription dimanche 2 octobre 2005 Statut Membre Dernière intervention 28 mai 2007
27 mai 2007 à 17:57
Idem que INADEN... J'ai essayé sans le "var" c'est pareil :s
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
21 mai 2007 à 18:35
Certain, s'est un code que j'utilise souvent ... paèrs je te l'ai fait de têten donc il n'est pas exempt d'erreur de syntaxe !
Mais après relecture, il ne doit pas y avoir de soucis ... teste sans le "var" devant PausePos, c'est le seul endroit d'où peut venir le soucis

Peg'
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
21 mai 2007 à 15:39
Euh...
ton code arrête bien la musique, mais quand je la relance, j'entends un très court son et puis plus rien...
T'es sûr que ça marche ???
cs_inaden Messages postés 618 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 27 août 2010 2
21 mai 2007 à 15:32
Salut,
C'est bien ce que je disais... "il y a surement plus subtil".
Je m'empresse de prendre ce code beaucoup plus élégant.
Merci.
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
17 mai 2007 à 14:59
Salut .. bel essai, mais je ne vois pas ce que l'objet Date() vient faire dans une fonction "pause" d'un son !

Pour faire une pause dans un son, il suffit de récupérer le temps auquel le son est avec "var Paused=Sound.position" et de refaire un "Sound.start(Paused)" .. rien de plus simple et c'est même prévu pour ! (et ça prend 2 lignes)

Tiens, je te refais ton code en entier pour te montrer :

s = new Sound();
s.loadSound("boucle.mp3",true);
var Paused = false; //indique si la pause est active ou pas

BoutonPause.onPress = function() {
if (!Paused) { //si le son n'est pas en pause
var PausePos = s.position; //Stoque la durée du son dans une variable
Paused = true; //indique que le son est en pause
s.stop();
} else { //si le son est en pause
Paused = false; //indique que la pause à été enlevée
s.start(PausePos); //relance le son à l'endroit où il a été arrêté
}
}

Voili, rien de plus simple et tu ass un bouton pause "à bascule" en plus ...

Peg'
Rejoignez-nous