Aller au contenu

AS3 - Comment positionner la tete de lecture sur un mp3


raph37

Sujets conseillés

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

Lien vers le commentaire
Partager sur d’autres 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...

Lien vers le commentaire
Partager sur d’autres 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

Lien vers le commentaire
Partager sur d’autres 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);

}

Modifié par raph37
Lien vers le commentaire
Partager sur d’autres 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)

Lien vers le commentaire
Partager sur d’autres 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 ;)

Lien vers le commentaire
Partager sur d’autres 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);
}

Lien vers le commentaire
Partager sur d’autres 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);
}
}

Modifié par raph37
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...