IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

details classe Sound en préchargement


Sujet :

Flash

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut details classe Sound en préchargement
    Bonjour

    Je souhaiterais effectuer un lecteur mp3 par avec lecture en streaming pour pouvoir lire des morceaux depuis internet.

    Je dispose de trois occurences différents:

    1. une barre représentant le morceaux

    2. une barre de progression du telechargement situé à l'intérieur de la première barre. Cette barre simule le telechargement du morceau tout en modifiant son _xscale. Ce qui permettra à l'utilisateur de savoir quel proportion du morceau à déjà été chargée

    3. une icone (type cercle ou carré) situé au dessus des deux autres barres qui effectue une transition linéaire affin de simuler la lecture du morceaux.

    L'objectif etant que l'utilisateur peut à tout moment draguer l'icone de lecture le long de la barre de morceau afin de se placer ou il le souhaite sur le morceau.

    Pour ceci j'ai utilisé la syntaxe suivante lors du stopDrag de mon icone de lecture:

    var reprise:Number = (this._x/barre_tot._width*monMP3.duration)/1000
    monMP3.stop();
    monMP3.start(reprise);

    Voici donc mon problème:

    Tout fonctionne normalement si je ne simule aucun prreload.
    Par contre si je simule le preload, la variable monMP3.duration n'est pas définie à sa longueur totale puisque le morceau n'est pas encore totalement chargé. Du coup ma reprise ne s'effectue pas au bon endroit.

    Question:

    Pour le moment afin de contourner ce problème j'ai simplement effectué un trace(monMP3.duration) sans preload. J'ai alors remplacé dans mon calcul de variable reprise (cf ci dessus) le bout monMP3.duration par la valeur récupéré par le trace (methode bourrine quoi ).
    Etant donné que mon objectif est de pouvoir charger un morceaux de musique choisit par l'utilisateur, cette methode ne me servira à rien (à part créer un fichier xml qui définira toutes les longueurs en millisecondes de tous les morceaux pouvant etre choisis par l'utilisateur, mais bon.... ).

    Existe-t-il donc une méthode pour connaitre la longueur du morceaux (en millisecondes) depuis le début du preload?
    J'imagine que celà peut etre possible en utilisant monMP3.getBytesTotal() qui lui est fixe depuis le début du preload. Mais le seul lien entre la longueur d'un morceaux et son nombre de bytes totaux est la compression de celui ci. Donc dois-je utiliser le id3 de mon son? ou autre chose?

    j'espère que j'aurais été assez clair

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    bon alors j'ai trouvé!!!!!


    monMP3.duration pendant le preload est directement proportionnel à monMP3.getBytesLoaded()

    Donc il suffit de creer un variable:

    var duree_tot_morceau:Number = monMP3.duration * monMP3.getBytesTotal()/ monMP3.getBytesLoaded(); et là!!!! magie!!!! on obtient la longueur totale en milliseconde du morceau.

Discussions similaires

  1. Java Sound ; class Clip
    Par gold_S dans le forum Multimédia
    Réponses: 0
    Dernier message: 12/12/2010, 13h40
  2. Sound class, Sample rate de 8khz?
    Par unclebob dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 26/07/2010, 19h14
  3. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  4. Réponses: 31
    Dernier message: 30/03/2006, 16h57
  5. Sortir un typedef d'une classe
    Par Theophil dans le forum C++Builder
    Réponses: 13
    Dernier message: 03/07/2002, 17h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo