begin process at 2012 02 10 14:35:19
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Audio

 > LECTEUR AUDIO MULTI-PISTES

LECTEUR AUDIO MULTI-PISTES


 Information sur la source

Note :
Aucune note
Catégorie :Audio Classé sous :lecteur audio, multi-pistes, flash Niveau :Débutant Date de création :25/05/2009 Date de mise à jour :25/05/2009 22:10:52 Vu / téléchargé :11 102 / 1 483

Auteur : uaemon

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

 Description

Cliquez pour voir la capture en taille normale
C'est un lecteur audio simple multi-pistes: il permet de lui fournir plusieurs fichiers et il les lit l'un après l'autre
Il fait à peu près la même-chose que le http://www.alsacreations.fr/dewplayer, mais avec le code source en plus.
L'exemple d'utilisation: http://www.uaemon.com/public/flash/uaemon_skin.htm l

Source

  • // Variables
  • var guide:Sound = new Sound();
  • var titles:Array;
  • var durations:Array;
  • var current_play_number:Number;
  • var play_position:Number = 0;
  • var total_duration:Number;
  • var isPlaying:Boolean; // playing or not
  • // Initial button states
  • button_pause._visible = false;
  • button_stop_enabled._visible = false;
  • button_prev_enabled._visible = false;
  • button_next_enabled._visible = false;
  • play_position = 0;
  • isPlaying = true; // auto-start
  • titles = mp3.split("|"); // List of titles to play
  • durations = duration.split("|"); // Duration of each title
  • current_play_number = 0;
  • total_duration = 0;
  • for (var i:Number=0; i<durations.length; i++) {
  • total_duration += Number(durations[i]);
  • }
  • total_duration = total_duration*1000;
  • if (titles.length > 1) {
  • button_prev_enabled._visible = true;
  • button_next_enabled._visible = true;
  • }
  • guide.setVolume(50);
  • guide.loadSound(titles[0], true);
  • playing_button_states();
  • function playing_button_states() {
  • button_play._visible = false;
  • button_pause._visible = true;
  • button_stop_disabled._visible = false;
  • button_stop_enabled._visible = true;
  • };
  • function idle_button_states() {
  • button_play._visible = true;
  • button_pause._visible = false;
  • button_stop_disabled._visible = true;
  • button_stop_enabled._visible = false;
  • };
  • guide.onLoad = function(success:Boolean) {
  • if (isPlaying) {
  • guide.start(play_position/1000);
  • }
  • };
  • guide.onSoundComplete = function() {
  • play_position = 0;
  • guide.start(0);
  • guide.stop();
  • if ((current_play_number+1) < titles.length) {
  • current_play_number++;
  • guide.loadSound(titles[current_play_number], true);
  • } else {
  • current_play_number = 0;
  • isPlaying = false;
  • guide.loadSound(titles[0], true);
  • guide.start(0);
  • guide.stop();
  • idle_button_states();
  • }
  • };
  • button_stop_enabled.onRelease = function() {
  • isPlaying = false;
  • play_position = 0;
  • guide.start(0);
  • guide.stop();
  • current_play_number = 0;
  • guide.loadSound(titles[0], true);
  • guide.start(0);
  • guide.stop();
  • idle_button_states();
  • };
  • button_pause.onRelease = function() {
  • isPlaying = false;
  • play_position = guide.position;
  • guide.stop();
  • button_play._visible = true;
  • button_pause._visible = false;
  • };
  • button_play.onRelease = function() {
  • isPlaying = true;
  • guide.start(play_position/1000);
  • playing_button_states();
  • };
  • button_prev_enabled.onRelease = function() {
  • if (current_play_number > 0) {
  • play_position = 0;
  • guide.start(0);
  • guide.stop();
  • current_play_number--;
  • isPlaying = true;
  • guide.loadSound(titles[current_play_number], true);
  • }
  • };
  • button_next_enabled.onRelease = function() {
  • play_position = 0;
  • if (current_play_number < (titles.length-1)) {
  • current_play_number++;
  • } else {
  • current_play_number = 0;
  • }
  • guide.start(0);
  • guide.stop();
  • isPlaying = true;
  • guide.loadSound(titles[current_play_number], true);
  • };
  • progress_bar.onEnterFrame = function() {
  • var cumul_duration:Number = 0;
  • for (var i:Number = 0; i<current_play_number; i++) {
  • cumul_duration += Number(durations[i])*1000;
  • }
  • this._xscale =((cumul_duration+guide.position)/total_duration)*100;
  • };
  • progress_bar_background.onRelease = function() {
  • var new_position:Number = (this._xmouse*total_duration)/(this._width*1000);
  • var cumul_duration:Number = 0;
  • var new_title:Number = 0;
  • for (var i:Number=0; i<durations.length; i++) {
  • cumul_duration += Number(durations[i]);
  • if (new_position < cumul_duration) {
  • new_title = i;
  • cumul_duration -= Number(durations[i]);
  • break;
  • }
  • }
  • if (current_play_number != new_title) {
  • guide.loadSound(titles[new_title], true);
  • current_play_number = new_title;
  • }
  • play_position = (new_position-cumul_duration)*1000;
  • guide.start(0);
  • guide.stop();
  • guide.start(new_position-cumul_duration);
  • };
  • volume_bar.volume_cursor.onEnterFrame = function() {
  • guide.setVolume((this._x*100)/32);
  • };
  • volume_bar.volume_cursor.onPress = function() {
  • this.startDrag(false, 0, -3, 32, -3);
  • };
  • volume_bar.volume_cursor.onRelease = volume_bar.volume_cursor.onReleaseOutside = function () {
  • this.stopDrag();
  • };
// Variables
var guide:Sound = new Sound();
var titles:Array;
var durations:Array;
var current_play_number:Number;
var play_position:Number = 0;
var total_duration:Number;
var isPlaying:Boolean;	// playing or not

// Initial button states
button_pause._visible = false;
button_stop_enabled._visible = false;
button_prev_enabled._visible = false;
button_next_enabled._visible = false;

play_position = 0;
isPlaying = true;	// auto-start

titles = mp3.split("|");	// List of titles to play
durations = duration.split("|");	// Duration of each title
current_play_number = 0;
total_duration = 0;
for (var i:Number=0; i<durations.length; i++) {
	total_duration += Number(durations[i]);
}

total_duration = total_duration*1000;

if (titles.length > 1) {
	button_prev_enabled._visible = true;
	button_next_enabled._visible = true;
}

guide.setVolume(50);
guide.loadSound(titles[0], true);
playing_button_states();

function playing_button_states() {
	button_play._visible = false;
	button_pause._visible = true;
	button_stop_disabled._visible = false;
	button_stop_enabled._visible = true;
};
function idle_button_states() {
	button_play._visible = true;
	button_pause._visible = false;
	button_stop_disabled._visible = true;
	button_stop_enabled._visible = false;
};
guide.onLoad = function(success:Boolean) {
	if (isPlaying) {
		guide.start(play_position/1000);
	}
};
guide.onSoundComplete = function() {
	play_position = 0;
	guide.start(0);
	guide.stop();
	if ((current_play_number+1) < titles.length) {
		current_play_number++;
		guide.loadSound(titles[current_play_number], true);
	} else {
		current_play_number = 0;
		isPlaying = false;
		guide.loadSound(titles[0], true);
		guide.start(0);
		guide.stop();
		idle_button_states();
	}
};
button_stop_enabled.onRelease = function() {
	isPlaying = false;
	play_position = 0;
	guide.start(0);
	guide.stop();
	current_play_number = 0;
	guide.loadSound(titles[0], true);
	guide.start(0);
	guide.stop();
	idle_button_states();
};
button_pause.onRelease = function() {
	isPlaying = false;
	play_position = guide.position;
	guide.stop();
	button_play._visible = true;
	button_pause._visible = false;
};
button_play.onRelease = function() {
	isPlaying = true;
	guide.start(play_position/1000);
	playing_button_states();
};
button_prev_enabled.onRelease = function() {
	if (current_play_number > 0) {
		play_position = 0;
		guide.start(0);
		guide.stop();
		current_play_number--;
		isPlaying = true;
		guide.loadSound(titles[current_play_number], true);
	}
};
button_next_enabled.onRelease = function() {
	play_position = 0;
	if (current_play_number < (titles.length-1)) {
		current_play_number++;
	} else {
		current_play_number = 0;
	}
	guide.start(0);
	guide.stop();
	isPlaying = true;
	guide.loadSound(titles[current_play_number], true);
};
progress_bar.onEnterFrame = function() {
	var cumul_duration:Number = 0;
	for (var i:Number = 0; i<current_play_number; i++) {
		cumul_duration += Number(durations[i])*1000;
	}
	this._xscale =((cumul_duration+guide.position)/total_duration)*100;
};
progress_bar_background.onRelease = function() {
	var new_position:Number = (this._xmouse*total_duration)/(this._width*1000);
	var cumul_duration:Number = 0;
	var new_title:Number = 0;
	for (var i:Number=0; i<durations.length; i++) {
		cumul_duration += Number(durations[i]);
		if (new_position < cumul_duration) {
			new_title = i;
			cumul_duration -= Number(durations[i]);
			break;
		}
	}
	if (current_play_number != new_title) {
		guide.loadSound(titles[new_title], true);
		current_play_number = new_title;
	}
	play_position = (new_position-cumul_duration)*1000;
	guide.start(0);
	guide.stop();
	guide.start(new_position-cumul_duration);
};
volume_bar.volume_cursor.onEnterFrame = function() {
        guide.setVolume((this._x*100)/32);
};
volume_bar.volume_cursor.onPress = function() {
        this.startDrag(false, 0, -3, 32, -3);
};
volume_bar.volume_cursor.onRelease = volume_bar.volume_cursor.onReleaseOutside = function () {
        this.stopDrag();
};

 Conclusion

C'est un lecteur simple pour un besoin particulier.
Un lecteur en flash permet aussi de contourner le problème de compatibilité entre les différents OS.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • uaemon.flaTélécharger ce fichier [Réservé aux membres club]125 440 octets

Télécharger le zip


 Historique

25 mai 2009 22:10:52 :
Mise à jour description

 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 CHARGER SON EXTERNE FLASH AS par tranber78
Source avec une capture CLASS SOUNDSPECTRUM par top30

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture ERYPIANO V2.03 CS4 AS3 par VBtoTRASH
Source avec Zip Source avec une capture ERYSOKOBAN V1.02 CS4 AS3 par VBtoTRASH
Source avec Zip Source avec une capture ERYSKYPLAYER_MINI par VBtoTRASH
Source avec Zip Source avec une capture ERYSKYVIDÉO V1.05 & V2.00 par VBtoTRASH
Source avec Zip Source avec une capture ERYOUTUBE : TÉLÉCHARGEMENT VIDÉO YOUTUBE FLASH CS4 AS3 V2.20 par VBtoTRASH

Commentaires et avis

Commentaire de pegase31 le 25/05/2009 23:17:03 administrateur CS

AS2 sous fichier au format CS4, dommage ... il serait temps de passer à l'as3.

Tu n'as pas expliqué d'où tu tirais tes deux variables contenant les durées ainsi que les titres des mp3. Je suppose qu'il s'agit de FlashVars.

L'utilisation d'un XML serait plus appropriées et plus adaptée à l'utilisation que tu en fait. En chargement sur un serveur, tant qu'à faire.

Une source qui a plusieurs années de retard. Dommage car il y a 4 ans, elle aurait été au top.

Peg'

Commentaire de uaemon le 26/05/2009 21:42:41

Merci beaucoup pour le commentaire

J'ai cherché pendant assez longtemps un lecteur multi-pistes en flash pour mon site http://www.uaemon.com et j'ai finalement trouvé dewplayer qui me convenait. Mais suite à un problème de qualité audio (qui n'a finalement rien à voir avec le lecteur dewplayer), je me suis mis à écrire un lecteur moi-même en lisant en même temps les tutoriels de flash. Il n'y a aucune prétention concernant la technique de programmation et de qualité etc, simplement pour partager au cas où quelqu'un tombait dans le même cas que moi

Les durées ainsi que les titres sont directement fournis par la page web qui appelle le lecteur (on peut les voir dans l'exemple cité)

J'avais trouvé des lecteurs avec des playlists (XML ou non) construites sur le serveur web mais il semblait ne pas très bien convenir à mon cas d'utilisation ... ainsi venu l'historique de ce bout de code

Encore merci pour l'attention apportée à ce brouillon d'apprentissage

PS: concernant AS2, je suivais un tuto AS3 et j'ai été coincé par un petit problème technique que je ne me rappelles plus, probablement la manipulation de l'objet audio, et je me suis dévié vers AS2 qui est plus adapté à mon niveau

Commentaire de balvick le 20/07/2009 15:14:25

Bravo super source,elle pourra me service :),
surtout que AS3 ca fait rien de plus (Lol vais me faire taper).
Petit question : y'a t'il un mode random mp3 ?
evidament elle lit pas les midis ? ^^'

Commentaire de silver1201 le 14/08/2009 19:20:51

Mon dieu, au secour!! Je suis débutante dans ce domaine la et j'ais un petit problème:
voila, j'utilise adobe dreamweaver Cs3, et comme c'est indiqué, j'ai téléchargé le lecteur audio pour que je puisse l'insérer dans mon site... j'ai ensuite inséré le code source dans le mode code sur l'édition de la page..
mais lorse que je remet le mode création je ne vois pas le lecteur... alor je le met en mode appercu avec l'internet explorer, et la je vois un carré blanc (qui est justemen sensé etre le lecteur)... Puis je n'arrive pas non plus a faire une playlist... HELP PLEASE!!

Commentaire de uaemon le 25/08/2009 13:46:49

Bonjour silver1201,
Si vous pouvez montrer le bout de code qui pose problème, ou bien indiquer le lien de votre site, on pourrait peut-être mieux cibler le problème

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

je voudrais envoyer un site complet exclusivement en flash mais il fait 800 Ko! [ par blackwizzard ] alors, comment je fait?pour voir le site online:www.loft-story-game.fr.st envoi de flash.......; [ par zero ] bonjourvoudrai savoir comment mettre une animation flash sur un forum qui accepte le flash que mettre entre les balises [flash].....[/flash]merci !!!! lancer un avi [ par wazzu ] Bonjour,je souhaitais savoir s'il etait possible de lancer un .avi directement ds une anim flash, en cliquant sur un bouton par exemple...ou sinon, s' jeu de billard [ par cocobingo ] salut à tous,je suis nouveau sur ce forum et débutant en flash.Je m'y connais un peu en programmation (matlab, qui est assez proche de flash m'a-t-on capture d'ecran flash [ par crazypumpkin ] salut à tous !,j'ai un p'tit film flash qui permet de dessiner à l'ecran. je voudrais savoir si il est possible que, une fois l'oeuvre du visiteur ach Site en Flash [ par Synhok ] Je voudrais simplement qu'une fois mon animation d'intro terminée, elle s'arrête pour laisser le temps à l'utilisateur de choisir un lien...et je ne s VB et FLASH interactivité ? [ par steg ] Est-il possible de piloter une amination flash avec VisualBasic 6 ?ex: J'ai un prog en visual basic qui me calcule certaines variables. J'aimerai pouv Dimensionner une nouvelle fenêtre avec flash [ par tikamo ] Bonjour,Je viens de me lancer dans Flash 5 pour créer des animations sur mon site.Seulement, j'ai un petit problème au niveau des liens et à re-dimens logiciel qui permet de programmer en flash [ par jeremyM ] je voudrais savoir ou je pourrais le récuperer je n'ai pas réussit à le trouver sur le web si vous avez des adresses envoyez les moi merci. Animations flash dans une base de données Access 2000 [ par ovdp ] Bonjour!J'ai un petit problème. Je dois créer une base de données Microsoft Access 2000 dans laquelle je compte placer des animations en Macromedia Fl


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,780 sec (4)

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