Récupérer la durée totale d'un son en as3 [Résolu]

BBFUNK01 1313 Messages postés jeudi 16 juillet 2009Date d'inscription 20 juin 2014 Dernière intervention - 9 déc. 2010 à 17:57 - Dernière réponse : BBFUNK01 1313 Messages postés jeudi 16 juillet 2009Date d'inscription 20 juin 2014 Dernière intervention
- 9 déc. 2010 à 21:45
Hello,

bon ça y est c'est décidé : je me lance dans l'apprentissage de l'as3 !
Certes beaucoup de choses ont changé depuis l'as2, mais le peu que j'ai expérimenté me plaît déjà énormément. Néanmoins je bute déjà sur certains points, en l'occurrence récupérer la durée totale d'un son. Pour mon 1er test je réalise donc un player mp3, et voici mon code de déclaration de l'objet Sound ainsi que le code concernant l'affichage du temps en lecture :
var maZik:Sound = new Sound();
var urlZik:URLRequest = new URLRequest("zik.mp3");
var piste1:SoundChannel;
var positionTete:Number = 0;
maZik.load(urlZik);

function maZikSonEnd(evt:Event){
btn_play.visible = true;
btn_pause.visible = false;
btn_play.removeEventListener(Event.ENTER_FRAME, Jauge);
btn_play.removeEventListener(Event.ENTER_FRAME, afficherTemps);
}

function Jauge(evt:Event){
if (piste1.position/maZik.length>0){
    	Barres.Barre_play.scaleX = piste1.position/maZik.length;
}
}

var tempsEcoule:Number;
//var heures:*;
var minutes:*;
var secondes:*;

var tempsTotal:Number;
var min:*;
var sec:*;
var TimeTot:String;
//tempsTotal = piste1.position/length;
min = Math.floor(tempsTotal/60);
sec = Math.floor(tempsTotal%60);
min = min <= 9 ? "0" + min : min;
sec = sec <= 9 ? "0" + sec : sec;
TimeTot = min + ":" + sec;

function afficherTemps(evt:Event){
tempsEcoule = piste1.position/1000;
//heures = Math.floor(tempsEcoule/3600);
minutes = Math.floor(tempsEcoule/60);
secondes = Math.floor(tempsEcoule%60);
//heures= heures<=9 ? "0"+heures : heures;
minutes = minutes <= 9 ? "0" + minutes : minutes;
secondes = secondes <= 9 ? "0" + secondes : secondes;
Temps.Time.text = TimeTot + " - " + minutes + ":" + secondes;
}


Bref, si vous savez comment je peux intégrer la récupération de la durée totale du son je suis preneur ;).

Merci ,

A plus,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Orange73 1393 Messages postés dimanche 28 novembre 2004Date d'inscription 2 août 2011 Dernière intervention - 9 déc. 2010 à 18:06
3
Merci
Hello,

Pour recuperer la durée totale il faut attacher un event à maZik :

var totalTime:Number;

maZik.addEventListener(Event.COMPLETE, soundLoaded);

function soundLoaded(e:Event):void
{
   totalTime = maZik.length;
}


A+

-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)

Merci Orange73 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de Orange73
BBFUNK01 1313 Messages postés jeudi 16 juillet 2009Date d'inscription 20 juin 2014 Dernière intervention - 9 déc. 2010 à 18:10
0
Merci
Re,

et bien dis donc Orange73 : ça c'est de la réponse rapide !
Ok je commence à piger le truc : en fait il faut attacher un event systématiquement en as3, bon et bien il faut que je m'habitue à cette méthode et ensuite ça va rouler .

Merci ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Commenter la réponse de BBFUNK01
pegase31 6161 Messages postés dimanche 21 décembre 2003Date d'inscription 4 septembre 2013 Dernière intervention - 9 déc. 2010 à 18:31
0
Merci
AS3 c'ets un langage évènementiel, soit 80% du temps c'est ce que tu vas utiliser.
Content de ne plus te compter parmi les retardataires ;)

Peg'
Commenter la réponse de pegase31
BBFUNK01 1313 Messages postés jeudi 16 juillet 2009Date d'inscription 20 juin 2014 Dernière intervention - 9 déc. 2010 à 21:45
0
Merci
AS3 c'ets un langage évènementiel, soit 80% du temps c'est ce que tu vas utiliser.
Content de ne plus te compter parmi les retardataires ;)


ouaip... Ben j'ai quand même du boulot car même si d'une certaine manière ça me paraît "simple" dans la manière d'aborder le code, ça nécessite toute une "gymnastique" pour la transition as2/as3 et le plus dur c'est finalement de faire abstraction des habitudes prises en as2. Mais bon... J'avoue que du peu que j'ai expérimenté c'est puissant, donc y'a plus qu'à .

A plus ,

BBFUNK01
//C'est en forgeant qu'on devient forgeron... ;-) ;
Commenter la réponse de BBFUNK01

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.