raph37 Posté 17 Août 2011 Posté 17 Août 2011 Bonjour à tous ! Dans une animation flash AS3 j'aimerai jouer une partie d'un mp3 , mais je suis malheureusement trop nullos pour y arriver . Est ce que quelqu'un aurait la gentillesse de m'aider ? Voilà ou j'en suis pour le moment ( pas bien loin quoi ... ) var son:Sound = new Sound();son.load(new URLRequest("monMP3.mp3")); son.start(0.089); // la c'est de l'AS2 je crois ... Merci de votre aide
raph37 Posté 18 Août 2011 Auteur Posté 18 Août 2011 oki je suis vraiment une quiche ... play(1500) et c'est bon , désolé du dérangement !
raph37 Posté 18 Août 2011 Auteur Posté 18 Août 2011 Quoi que maintenant je butte pour arreter de lire avant la fin ... quelqu'un aurait une solution ? merci
Dan Posté 18 Août 2011 Posté 18 Août 2011 A tout hasard, tu n'aurais pas un second argument pour play() ? Tu donnes le début, il faudrait aussi donner la fin de la séquence...
raph37 Posté 18 Août 2011 Auteur Posté 18 Août 2011 A tout hasard, tu n'aurais pas un second argument pour play() ? Tu donnes le début, il faudrait aussi donner la fin de la séquence... Merci Dan , tu veux dire un truc du genre play(9000,19000) ? j'ai testé mais çà ne fonctionne pas ... je vais re-tester lol
raph37 Posté 18 Août 2011 Auteur Posté 18 Août 2011 (modifié) Bon et bien je n'arrive pas à faire taire mon mp3 avant sa fin... voilà ou j'en suis import flash.media.SoundChannel;import flash.events.Event;var son:Sound = new Sound();son.load(new URLRequest("MonMP3.mp3")); son.addEventListener(Event.COMPLETE, boucle)function boucle(evt:Event):void{ var channel:SoundChannel; var temps:Number = evt.currentTarget.length ; var debut:Number = temps/5 ; var fin :Number = temps/4 ; channel = evt.currentTarget.play(debut,fin);} Modifié 18 Août 2011 par raph37
SStephane Posté 18 Août 2011 Posté 18 Août 2011 Event.COMPLETE correspond en général à la fin du chargement d'un élément (dans ton cas, lorsque le MP3 est téléchargé), il te faut utiliser SoundChannel (il est renvoyé par la méthode play() de la classe Sound, sur laquelle les paramètres sont facultatifs) et c'est sur cet objet que tu vas écouter l'événement SOUND_COMPLETE : var _s:Sound = new Sound();var _ss:SoundChannel = _s.play();_ss.addEventListener(Event.SOUND_COMPLETE, SoundCompleteHandler);function SoundCompleteHandler(evt:Event):void{ _s.play();} Ainsi tu auras ta boucle, bonne chance (Attention à la portée des variables dans mon code, un c/c ne marchera sans dotue pas, je ne sais pas si tu es dans un contexte objet ou non, c'est simplement pour te montrer l'idée)
raph37 Posté 19 Août 2011 Auteur Posté 19 Août 2011 euh ... ce n'est pas de boucler un mp3 entier qui me pause problème , c'est de jouer une plage du mp3 ( de la 5eme seconde à la 1 ere minute par exemple ) puis relancer au début de celle ci . Merci de ton aide quand meme Steph
SStephane Posté 20 Août 2011 Posté 20 Août 2011 C'est pareil : import flash.media.Sound;import flash.media.SoundChannel;import flash.events.Event;var s:Sound = new flash.media.Sound();var ss:SoundChannel = s.play();this.addEventListener(Event.ENTER_FRAME, this.EnterFrameHandler);function EnterFrameHandler(evt:flash.events.Event):void { if (ss.position > XXX) s.play(YYYY);}
raph37 Posté 20 Août 2011 Auteur Posté 20 Août 2011 (modifié) OK je viens de comprendre ! import flash.events.Event;import flash.media.SoundChannel;stop();var son:Sound = new Sound();var debut:Number=4000;var fin:Number=8000;son.load(new URLRequest("MonMP3.mp3")); var channel:SoundChannel = son.play(debut);this.addEventListener(Event.ENTER_FRAME, boucle);function boucle(evt:Event):void { if (channel.position > fin ) { channel.stop(); channel=son.play(debut); }} Modifié 20 Août 2011 par raph37
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant