Jump to content
Sign in to follow this  
raph37

AS3 - Comment positionner la tete de lecture sur un mp3

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

}

Edited by raph37

Share this post


Link to post
Share on other sites

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)

Share this post


Link to post
Share on other sites

euh ... :unsure:

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Edited by raph37

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...