Bonjour a tous,
Pour ma première source je poste une version de modifiée de la source de "_benjy" (
http://www.flashkod.com/code.aspx?ID=30120), merci à lui. J'y ai apporté pas mal de corrections surtout au niveau de la structure du code. Toutefois toutes les instructions ne sont pas encore remontées au niveau du fichier de défintion. Mais il ne manque pus beaucoup de boulot à mon avis... Et elle marche très bien pour moi comme cela.
En plus des modifications non visibles j'ai redesigné en plus soft.
Source originale :
La source originale est un lecteur de fichier mp3 sous forme de composant (
http://www.flashkod.com/code.aspx?ID=30120)
Modifié le 12/07/2006
- Skin
- Code source (optimisation)
- Pré-calcul de la durée global pendant le chargement
- Back Forward dépendant du tau de chargement en cours (test en ligne ou avec le bandwith)
- Comportement des controles au niveau de la classe
- Rollover des controles au niveau de la classe
- Test de préchargement
- Controle du l'état de la lecture
- Gestion de la lecture automatique entre les morceaux
- Ajout du réglage du volume par simple clique (En plus du drag cuseur)
- Control des appelsrécursifs
rest à faire :
- Remonter toutes les actions au niveau du fichier de définition notamment pour le controle du son
_ "_Benjy" avait mis en place un début de définition de la couleur des éléments par variable, j'ai ajouté un paramètre "Couleur" mai c'est tout. J' ai supprimé les fonctions initialement pour les recréées via un setRGb() dans le onload() de la classe et puis j'ai fait un rollover en alpha à la place (pas le temps) plus tard peut être.
- Redéfinir correctement les fonction en private ou public.
Bad behaviour:
Le controle du preload des fichiers est dans movie à papa (loderEngine) c'est plus robuste.... :(
Source / Exemple :
- streaming : N'est plus en vigueur, en ligne le player charge et joue le morceau il est possible d'avancer dans le morceau jusqu'a la fin de ce qui est réellement chargé. Pas de streaming ici, juste une chargement optimisé autorisant une lecture bufferisée.
- moncomposant.titre = "String"(remplace le titre affiché dans le lecteur)
- moncomposant.addItem("file.mp3") ajout un mp3 a la liste de lecture
- moncomposant.addItemAt(index, "file.mp3) ajout un mp3 à la liste de lecture à l'index désigné
- moncomposant.removeItemAt(index) supprime un mp3 de la liste de lecture
- moncomposant.volume (function get et set, retournant la volume du lecteur, entre 0 et 100)
- moncomposant.Arret() - Stop la lecture et pointe l'index au début de la liste
- moncomposant.LecturePause() - Toggle entre lecture et pause
- moncomposant.next()
- moncomposant.preivous()
Pour ces deux dernières méthodes on charge morceau suivant ou précédent et si le player est en lecture alors on le lit sinon on attend.
- autoplay:Boolean - à definir dans l'onglet paramètre(utile à une liste préremplie)
- dossier:String - à definir dans l'onglet paramètre
- moncomposant.position (number, (function get ou set, position dans la piste mp3, en millisecondes)
- moncomposant.current (index du mp3 encours de lecture dans la liste de lecture)
- moncomposant.liste = Array, contenant les nom de fichier .mp3 l'onglet paramètre
il est possible de récupérer la longueur de la liste par (moncomposant.liste.length)
Conclusion :
Known issues:
Après des test cross-plateforme en vue d'un CD hybride j'ai remarqué un bug de chargement réglé pour le moment en compilant les projecteurs sur le plateformes de destiantion (Windos/Mac) pas de soucis pour une utilisation en ligne.
(Test MAC effectués sur MAC OS X)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.