begin process at 2012 05 26 06:12:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Audio

 > LECTEUR MP3 AVEC PAUSE

LECTEUR MP3 AVEC PAUSE


 Information sur la source

Note :
9 / 10 - par 1 personne
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Audio Classé sous :mp3, pause, loadexterne Niveau :Initié Date de création :17/05/2007 Date de mise à jour :06/02/2008 16:44:29 Vu :16 767

Auteur : inaden

Ecrire un message privé
Site perso
Commentaire sur cette source (28)
Ajouter un commentaire et/ou une note

 Description

L'idée est d'avoir une vraie pause sur un mp3 chargé en externe. Ce code permet donc d'arrêter et de reprendre un morceau loadé en externe. C'est un lecteur où il n'y a qu'une musique... il y a suffisament d'exemples à plusieurs morceaux, et la gestion de plusieurs morceaux ne fait pas parti de ce code qiu ne s'interesse qu'à la pause (et au volume).

Source

  • //nouvelle version
  • //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
  • }
  • }
  • //première version
  • s = new Sound();
  • s.loadSound("boucle.mp3",true);
  • i=1;
  • s.start();
  • timeme();
  • starte._visible=false;
  • //Fonction
  • function timeme (){
  • now = new Date();
  • var hours = now.getHours();
  • var minutes = now.getMinutes();
  • var seconds = now.getSeconds();
  • var newstarttime:Number;
  • _root["nowtime"+i] = (Number(hours)*3600)+(Number(minutes)*60)+seconds;
  • montemps=_root["nowtime"+i];
  • i++;
  • trace("au départ montemps vaut "+montemps);
  • //fonction bouton
  • pauser.pause_bt.onPress=function(){
  • s.stop();
  • trace("montemps = "+montemps);
  • now2 = new Date();
  • var hours2 = now2.getHours();
  • var minutes2 = now2.getMinutes();
  • var seconds2 = now2.getSeconds();
  • nowtimeb = (Number(hours2)*3600)+(Number(minutes2)*60)+seconds2;
  • trace("nowtimeb = "+nowtimeb);
  • newstarttime = nowtimeb - montemps;
  • trace("newstarttime = "+newstarttime);
  • pauser._visible=false;
  • starte._visible=true;
  • }
  • starte.start_bt.onPress=function(){
  • trace("Au Start newstarttime = "+newstarttime);
  • s.start(newstarttime);
  • pauser._visible=true;
  • starte._visible=false;
  • }
  • }
//nouvelle version

//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
  }
}
//première version
s = new Sound();
s.loadSound("boucle.mp3",true);
i=1;

s.start();
timeme();

starte._visible=false;

//Fonction
function timeme (){
now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds();
var newstarttime:Number;

_root["nowtime"+i] = (Number(hours)*3600)+(Number(minutes)*60)+seconds;
montemps=_root["nowtime"+i];
i++;
trace("au départ montemps vaut "+montemps);

	//fonction bouton
	pauser.pause_bt.onPress=function(){
		s.stop();
		trace("montemps = "+montemps);
		now2 = new Date();
		var hours2 = now2.getHours();
		var minutes2 = now2.getMinutes();
		var seconds2 = now2.getSeconds();
		nowtimeb = (Number(hours2)*3600)+(Number(minutes2)*60)+seconds2;
		trace("nowtimeb = "+nowtimeb);
		newstarttime = nowtimeb - montemps;
		trace("newstarttime = "+newstarttime);
		pauser._visible=false;
		starte._visible=true;
	}
	starte.start_bt.onPress=function(){
		trace("Au Start newstarttime = "+newstarttime);
		s.start(newstarttime);
		pauser._visible=true;
		starte._visible=false;
	}
}

 Conclusion

Sur tout les lecteurs que j'ai vu, je n'ai jamais rencontré de pause... que des stops.
Alors avec l'aide de je ne sais plus qui (c'est un truc que j'avais commencer il y a longtemps, puis abandonné et aujourd'hui repris)... et que je remercie, j'ai mis au point un code de pause.
Il y a surement plus subtil, je laisse à l'appréciation.
Le code pour le volume est directement emprunté à un des tutos de ce site.


 Historique

06 février 2008 16:44:29 :
Le code a été allégé selon les discussions qui ont eu lieu. Il y a trois anim, une normale, une avec boucle, et une avec verfi de fin de morceau

 Sources du même auteur

Source avec Zip NAVIGATION DANS UN FICHIER XML
Source avec Zip COMMUNICATION CLIP À CLIP AS3
Source avec Zip FAIRE GLISSER SELON LA VITESSE DE LA SOURIS

 Sources de la même categorie

Source avec Zip Source avec une capture ERYPIANO V2.03 CS4 AS3 par VBtoTRASH
Source avec Zip Source avec une capture ERYSTREAMING V2.05 CS4 AS3 par VBtoTRASH
Source avec Zip Source avec une capture ERYSKYPLAYER_MINI par VBtoTRASH
Source avec Zip Source avec une capture LECTEUR AUDIO MULTI-PISTES par uaemon
Source avec Zip CHARGER SON EXTERNE FLASH AS par tranber78

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MP3 LAYER NICE &SMALL par yasdar
Source avec Zip Source avec une capture ERYSKYPLAYER_MINI par VBtoTRASH
Source avec Zip Source avec une capture DÉTERMINER L'ENTRÉE/SORTIE DE LA SOURIS(POINTEUR) D'UN SWF par bali_balo
Source avec Zip MUSIQUE ET COOKIES par zniko07
Source avec Zip Source avec une capture AMELIORATION DE "LECTEUR MP3 LOCAL CHARGEMENT MUSIQUES GRACE... par roro14123

Commentaires et avis

Commentaire de pegase31 le 17/05/2007 14:59:17 administrateur CS

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'

Commentaire de inaden le 21/05/2007 15:32:28

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.

Commentaire de inaden le 21/05/2007 15:39:44

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 ???

Commentaire de pegase31 le 21/05/2007 18:35:28 administrateur CS

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'

Commentaire de thibotus le 27/05/2007 17:57:11

Idem que INADEN... J'ai essayé sans le "var" c'est pareil :s

Commentaire de WhiteMagus le 28/05/2007 00:06:48

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
  }
}

@+ !

Commentaire de WhiteMagus le 28/05/2007 00:10:11

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

Commentaire de inaden le 28/05/2007 08:49:21

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.

Commentaire de pegase31 le 28/05/2007 09:21:24 administrateur CS

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'

Commentaire de inaden le 28/05/2007 09:42:32

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.

Commentaire de thibotus le 28/05/2007 09:42:56

Ca marche ! Merci :)

Commentaire de WhiteMagus le 28/05/2007 13:46:28

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

Commentaire de djel57 le 03/06/2007 02:01:21

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

Commentaire de inaden le 03/06/2007 11:18:29

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);
}
}

Commentaire de LuffyElzaroth le 13/06/2007 22:24:14

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 ?

Commentaire de inaden le 14/06/2007 17:22:05

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 !

Commentaire de smoochy le 06/02/2008 11:27:13 9/10

... 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
++

Commentaire de inaden le 06/02/2008 16:46:31

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.

Commentaire de smoochy le 11/02/2008 15:31:43

euh... c'est moi qui délire ou il n'y a plus de zip????

Commentaire de inaden le 11/02/2008 16:16:56

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

Commentaire de smoochy le 13/02/2008 13:51:47

ok c'est parfait, merci pour le lien :-)

bonne continuation
++

Commentaire de Julius2bom le 29/08/2008 14:16:05

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

Commentaire de inaden le 30/08/2008 15:29:26

Salut,<br />essaie peut-être avec monBouton.addEventListener("keyDown",m);<br /> Mais je sais pas si il faut mettre le m entre guillemet ou pas. Tiens nous au courant de tes recherches.

Commentaire de Julius2bom le 01/09/2008 10:15:32

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

Commentaire de Julius2bom le 01/09/2008 10:18:31

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

Commentaire de inaden le 01/09/2008 17:49:44

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.

Commentaire de Julius2bom le 01/09/2008 18:46:55

Merci pour le tuyau!

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

Merci beaucoup

Commentaire de Julius2bom le 03/09/2008 16:59:15

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!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Lecteur de MP3 avec Lecture/Pause/Barre avancement musique [ par niko21 ] Salut a tous, voila je cherche un lecteur de MP3 en streaming flash, simple, avec juste un bouton Play/Pause qui ferait appel à un mp3 externe (url) + Bouton pause [ par dark_shade ] Bonjour &#224; tous.J'ai un petit probl&#232;me dans mon lecteur mp3. J'ai essay&#233; en vain de programmer un bouton pause. Pourriez vous m'aider sv progressbar en lecture d'mp3 [ par monick_1 ] Salut !    je travail sur une appli flash (c'est ma premier !!), que je program pour c'est trois tâche :          1 - chargement de mp3 et lecture ! lecteur mp3 avec Flash 5 [ par angela07 ] Bonjour à tous !Je voudrais réaliser un lecteur mp3 tout simple (lecture - pause - arrêt) avec Flash 5. Cela fait une semaine que cherche, je n'est ri mP3 lecture et pause, [ par dfabbi ] Bonjour à tous, voici un gros problème... j'ai crée deux bouton et charger mon mp3 dans la bibliothèque.. mais maintenant ? Je dois faire quel démarch Création d'un bouton pause avec la commande keypress [ par Julius2bom ] Bonjour à tous,Comme vous vous en doutez j'ai un petit souci. Tout est dans le titre! J'ai crée un player mp3 et j'ai besoin d'un code qui me permette comment faire une pause dans un mp3 en streaming ? [ par donutsboy ] Es-ce que quelqu'un sais comment faire une pause dans une MP3 charger en streaming ? MP3 mais avec Flash 5 [ par mattdelavega ] Salut .J'ai décidé de laisser mon site en version 5.Problème, je veux faire un lecteur de mp3, sauf que je ne trouve que des sources en Flash mx, et d Comment insérer plusieurs duplicateMovieClip avec une pause [ par jmgem ] Salut à tous.Je cherche une solution pour décaler l'insertion de clips, insérés dynamiquement par duplicateMovieClip.Je voudrais en quelque sorte un d Streaming MP3 pour les débutants [URGENT] [ par SonicK02 ] voila je suis sous flash 5 (donc impossible de lire les sources sur ce site pour l'instant) et j'ai essayé pas mal de méthodes pour faire du streaming


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales