Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[Flash] Probleme Lecture/pause lecteur mp3

  annexe04, le mercredi 20 août 2008 à 13:36:29
Bonjour,

J'ai essayé de faire moi meme un petit lecteur mp3 sous Flash 9.0 AS3 avec un bouton lecture/pause et arret. Lorsque je teste mon fichier dans Flash CS3 tout fonctionne bien mais lorsque je publie sous forme html ou swf, le bouton pause fait n'importe quoi. C'est à dire qu'au moment où je mets le morceau en pause et que j'appuie sur lecture, il reprend la lecture à un moment aléatoire (et pas le moment ou je lui dis de reprendre). Bref j'y comprends pas grand chose ! J'ai ce problème à la fois sous IE et Firefox.

Descriptif du fonctionnement (voulu !):

Au début un son defaut.mp3 est chargé et lu automatiquement. On peut controler la lecture, pause et arret par des boutons. Puis en cliquant sur le bouton de la chanson 1, la lecture du morceau courant s'arrete et on charge et lit le morceau 1, ensuite controllable par les boutons lecture/pause et arret.


Voici mon code :

import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundLoaderContext;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.media.ID3Info;

stop();

// On commence par charger un son initial, et on initialise toutes les variables
var s:Sound = new Sound();
var req:URLRequest = new URLRequest("defaut.mp3");
var channel:SoundChannel;
var pausePosition:Number=0;
var playbackPercent:Number=0;
barrePosition.width = 0;
jouer(req); // Ensuite on le joue


this.lecture_btn.addEventListener(MouseEvent.CLICK,function_lecture);
this.arret_btn.addEventListener(MouseEvent.CLICK,function_arret);

this.morceau1_btn.addEventListener(MouseEvent.CLICK,function_1);
this.morceau2_btn.addEventListener(MouseEvent.CLICK,function_2);

function function_1(event:Event) {
req = new URLRequest("1.mp3");
jouer(req);
}

function function_2(event:Event) {
req = new URLRequest("2.mp3");
jouer(req);
}


//Cette fonction permet de lire ou de mettre en pause le morceau chargé
function function_lecture(event:Event) {
if (lecture_btn.currentFrame==1) {
channel = s.play(pausePosition);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
s.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete);
lecture_btn.gotoAndStop(2);

} else {
pausePosition = channel.position;
channel.stop();
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
lecture_btn.gotoAndStop(1);


}
}

// Cette fonction permet d'arreter la lecture du morceau
function function_arret(event:Event) {
channel.stop();
pausePosition=0;
barrePosition.width = 0;
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
lecture_btn.gotoAndStop(1);
}



// Cette fonction calcule le pourcentage du fichier lu
function onEnterFrame(event:Event):void
{
var estimatedLength:int =
Math.ceil(s.length / (s.bytesLoaded / s.bytesTotal));
playbackPercent =
Math.round(100 * (channel.position / estimatedLength));
barrePosition.width =playbackPercent;
}

function onPlaybackComplete(event:Event)
{
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
}


// Cette fonction sert à charger un nouveau morceau et de le lire : il est //ensuite controllable par les boutons lecture/pause et arret
function jouer(req:URLRequest) {
s = new Sound();
s.load(req);
s.addEventListener(Event.ID3, onID3InfoReceived);
pausePosition=0;
channel = s.play();
addEventListener(Event.ENTER_FRAME, onEnterFrame);
s.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete);
lecture_btn.gotoAndStop(2);
}

// Cette fonction permet d'afficher le nom de la chanson
function onID3InfoReceived(event:Event)
{
var id3:ID3Info = event.target.id3;
titre.text=id3.songName;
}
Répondre à annexe04  Signaler ce message aux modérateurs
Creative Zen Stone Plus 2 Go White USB 2.0, Capacité : 2 GB, Type de lecteur : MP3, Type de mémoire : Flash, Formats de lecture:MP3, WMA, Audible, Écran, Type d'écran:OLED 64 x 64, Couleur:White, Type de mémoire:Flash, Mémoire intégrée, Capacité mémoire intégrée:2048 MB, Fonction... www.commentcamarche.net/guide-achat/creative-zen-stone-plus-2-go-white-955383-fiche-technique
Sony NWZ-S639FB 16 Go Black S 639 639 FB 639FB 639FB, USB 2.0, Capacité : 16 GB, Type de lecteur : Lecteur Multimedia, Type de mémoire : Flash, Formats de lecture:MP3, WMA, AAC, MPEG4, M4V, WMV, JPEG, Écran, Type d'écran:2.0" QVGA LCD, 320x240, Couleur:Black, Type de... www.commentcamarche.net/guide-achat/sony-nwz-s639fb-16-go-black-1150935-fiche-technique
Olympus DS-50 1 Go Black Capacité : 1024 MB, Type de lecteur : MP3, Type de mémoire : Flash, Formats de lecture:MP3, WMA, Écran, Type d'écran:Large LCD screen with white backlight, Couleur:Black, Type de mémoire:Flash, Mémoire intégrée, Capacité mémoire intégrée:1024... www.commentcamarche.net/guide-achat/olympus-ds-50-1-go-black-918122-fiche-technique
Sony NWZ-S616FB 4 Go BlackS 616 616 FB 616FB 616FB, USB 2.0, Capacité : 4 GB, Type de lecteur : Lecteur Multimedia, Type de mémoire : Flash, Formats de lecture:MP3, WMA, AAC-LC, Linear PCM, MPEG 4, M4V, JPEG, Écran, Type d'écran:1.8" QVGA LCD Screen, 320x240, Bi-Directional... www.commentcamarche.net/guide-achat/sony-nwz-s616fb-4-go-black-1010607-fiche-technique
SanDisk Sansa View 16 Go BlackUSB 2.0, Capacité : 16 GB, Type de lecteur : Lecteur Multimedia, Type de mémoire : Flash, Formats de lecture:MP3, WMA, WAV, MPEG4, WMV, H.264, DivX, JPEG, Écran, Type d'écran:2.4 inch TFT color screen, 320x240, Couleur:Black, Type de mémoire:Flash, Mémoir www.commentcamarche.net/guide-achat/sandisk-sansa-view-16-go-black-1008483-fiche-technique
SanDisk Sansa Clip 2 Go RedUSB 2.0, Capacité : 2 GB, Type de lecteur : MP3, Type de mémoire : Flash,Formats de lecture:MP3, WMA,Écran,Couleur:Red,Type de mémoire:Flash,Mémoire intégrée,Capacité mémoire intégrée:2048 MB,Fonction dictaphone,Interface:USB 2.0,Écouteurs... www.commentcamarche.net/guide-achat/sandisk-sansa-clip-2-go-red-1008554-fiche-technique