La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

JérOli Media Player Auteurs : J.FELLUS & O.NESTY.

Présentations similaires


Présentation au sujet: "JérOli Media Player Auteurs : J.FELLUS & O.NESTY."— Transcription de la présentation:

1 JérOli Media Player Auteurs : J.FELLUS & O.NESTY

2 A quoi ça sert ???? JérOli Media Player

3 A quoi ça sert ???? 1.Gestionnaire de PlayList JérOli Media Player

4 A quoi ça sert ???? 1.Gestionnaire de PlayList 2.Outil de Recherche de Mp3 dans larborescence JérOli Media Player

5 A quoi ça sert ???? 1.Gestionnaire de PlayList 2.Outil de Recherche de Mp3 dans larborescence 3.Player JérOli Media Player

6 Exemples de fonctionnement

7 Approche : « Je cherche tous les morceaux dOscar Peterson qui datent de plus de 10 ans »

8 Exemples de fonctionnement Approche : « Jai entendu parler de Songs in the key of life, je ne sais pas si cest le nom de lalbum ou le titre dune chanson… que me propose le JérOli Media Player ??? »

9 Exemples de fonctionnement Actions sur la PlayList

10 Exemples de fonctionnement Ecoute tranquille de musiques tout en faisant autre chose

11 Dissection du JérOli Media Player Ses aspects Internes

12 Gestionnaire : classes principales

13 C Main : Point de démarrage du programme C

14 Gestionnaire : classes principales CCApplication : classe principale d'une application CC Main : Point de démarrage du programme

15 Gestionnaire : classes principales CC Application : classe principale d'une application CC Interface Configuration Player PlayList en Cours Main : Point de démarrage du programme

16 Gestionnaire : classes principales CCApplication : classe principale d'une application CC Interface Configuration Player PlayList en Cours Méthodes : Ajouter à la PlayList Retirer … Charger une PlayList Look&Feel Main : Point de démarrage du programme

17 Gestionnaire : classes principales CCApplication : classe principale d'une application CC CCConfig : classe qui va gérer les fonctions de configurations Main : Point de démarrage du programme

18 Gestionnaire : classes principales CCApplication : classe principale d'une application CC CCConfig : classe qui va gérer les fonctions de configurations CCPlayList : Liste de MP3Desc Main : Point de démarrage du programme C

19 Gestionnaire : classes principales CCApplication : classe principale d'une application CC CCConfig : classe qui va gérer les fonctions de configurations CCPlayList : Liste de MP3Desc Méthode : Add, remove … IsPlaying? Déplacement de MP3 Navigation (précédent, suivant, stop, play) Main : Point de démarrage du programme C

20 Gestionnaire : classes principales CCApplication : classe principale d'une application CC CCConfig : classe qui va gérer les fonctions de configurations CC PlayList : Liste de MP3Desc Méthode : Add, remove … IsPlaying? Déplacement de MP3 Navigation (précédent, suivant, stop, play) Player C Main : Point de démarrage du programme

21 Gestionnaire : classes principales CIInterface Interface textuelle Interface Graphique Gestion du Splash Screen Mode Quick Play !

22 Gestionnaire : classes principales CIInterface Interface textuelle Interface Graphique Fenêtre Principale Fenêtre Quick Play !

23 Gestionnaire.repertoire Classes qui gèrent le contenu de larborescence C Répertoire (Arborescence) C Vecteur de Données (tableau dynamique de MP3Desc ) C Méthode : Filtrage Tri Random [Debug]

24 Gestionnaire.repertoire Classes qui gèrent le contenu de larborescence C Répertoire (Arborescence) C CC MP3Desc (Description dun fichier Mp3) * tag ID3 Lire le tag (sous forme compacte « byte[ ] ») via un Tag Reader * Récupérer les champs * Passer à travers des filtres * Comparaison par critères (critère vector)

25 Aspect Visuel…

26 Interface Graphique Aspect Visuel…

27 Interface Graphique Aspect Visuel… CC WSplashScreen : gère la fenêtre de chargement

28 Interface Graphique Aspect Visuel… CCWConfig : gère toute la fenêtre de configuration CC WSplashScreen : gère la fenêtre de chargement

29 Interface Graphique Aspect Visuel… CCWConfig : gère toute la fenêtre de configuration CC CCWFenetrePrincipale : gère toute la fenêtre principale WSplashScreen : gère la fenêtre de chargement

30 Interface Graphique Aspect Visuel… CCWConfig : gère toute la fenêtre de configuration CC CCWFenetrePrincipale : gère toute la fenêtre principale CCWQuickPlay : gère toute la fenêtre Quick Play ! WSplashScreen : gère la fenêtre de chargement

31 Interface Graphique Aspect Visuel… CCWConfig : gère toute la fenêtre de configuration CC CCWFenetrePrincipale : gère toute la fenêtre principale CCWQuickPlay : gère toute la fenêtre Quick Play ! WSplashScreen : gère la fenêtre de chargement CCWRechecheRapide : Affiche le résultat de la recherche rapide

32 Aspect Visuel…

33 Composants Aspect Visuel…

34 Composants Aspect Visuel… CC CCritèreTri : gère le choix des Critères de recherche

35 Composants Aspect Visuel… CCCInfos : gère le tableau dinformation CC CCritèreTri : gère le choix des Critères de recherche

36 Composants Aspect Visuel… CCCInfos : gère le tableau dinformation CC CCCPlaylist : gère la Liste de chansons CCritèreTri : gère le choix des Critères de recherche

37 Composants Aspect Visuel… CCCInfos : gère le tableau dinformation CC CCCPlaylist : gère la Liste de chansons CCCTitreBlock : Affiche le titre de chaque module CCritèreTri : gère le choix des Critères de recherche

38 ORGANISATION DE LARBORESCENCE Tri & Filtrage

39 ETAPE 1 : FILTRAGE REPERTOIREMP3DESC Visible ? FILTRE Filtrer

40 ETAPE 1 : FILTRAGE Classe Filtre : Méthode dexécution du filtre C

41 ETAPE 1 : FILTRAGE N x nbFiltres comparaisons à effectuer (nbFiltres << N) C = o(N)

42 ETAPE 2 : TRI PAR CRITERES REPERTOIREVector CRITERES Vector MP3DESC Sort ( ) Custom COMPARATOR Custom compareTo ( ) method Visible ?

43 ETAPE 2 : TRI PAR CRITERES Classe Filtre : Méthode dexécution du filtre C

44 ETAPE 2 : TRI PAR CRITERES Classe MP3Desc : méthode de comparaison par critères C

45 ETAPE 2 : TRI PAR CRITERES compareTo() : nbCriteres comparaisons à effectuer (dans le pire des cas) sort() : algorithme issu de la bibliothèque de classes standard – complexité en n.log(n) nbCriteres << N C = o(N.log(N))

46 lBound : int rBound : int Parent : MP3Node ETAPE 3 : AFFICHAGE HIERARCHIQUE CRepertoireTree ( ~Jtree) DefaultTreeModel MP3TreeModel Repertoire MP3Node

47 ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 AX1 AX2 AY1 BX3 BX4 BY1 BY2 CX1 CX5 CX12 CY1 CZ109 CZ110

48 ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 AX1 AX2 AY1 BX3 BX4 BY1 BY2 CX1 CX5 CX12 CY1 CZ109 CZ110

49 ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 AX1 AX2 AY1 BX3 BX4 BY1 BY2 CX1 CX5 CX12 CY1 CZ109 CZ110

50 ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 AX1 AX2 AY1 BX3 BX4 BY1 BY2 CX1 CX5 CX12 CY1 CZ109 CZ110 Root

51 ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 AX1 AX2 AY1 BX3 BX4 BY1 BY2 CX1 CX5 CX12 CY1 CZ109 CZ110 Root 0 1 2

52 ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 X1 X2 Y1 X3 X4 Y1 Y2 X1 X5 X5 Y1 Z109 Z Root 0 1 2 A B C

53 ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 X1 X2 Y1 X3 X4 Y1 Y2 X1 X5 X5 Y1 Z109 Z Root 0 1 2 A B C

54 ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 X1 X2 Y1 X3 X4 Y1 Y2 X1 X5 X5 Y1 Z109 Z Root 0 1 2 A B C

55 ETAPE 3 : AFFICHAGE HIERARCHIQUE CRITERE 1CRITERE 2CRITERE 3 1 2 1 X3 X4 Y1 Y2 X1 X5 X5 Y1 Z109 Z Root 0 1 2 A B C X Y 0 1

56 ETAPE 3 : AFFICHAGE HIERARCHIQUE Repertoire 1 2 1 3 4 1 2 1 5 5 1 109 MP3Node lBound rBound Childs

57 ETAPE 3 : AFFICHAGE HIERARCHIQUE Repertoire MP3 A MP3 B MP3 C MP3 D MP3 E MP3 F MP3 G MP3 H MP3 I MP3 J MP3 K MP3 L MP3 M MP3Node lBound rBound Childs GetChildCount () Nombre de valeurs différentes dans [ lBound,rBound ] GetChild(int i) Parcours jusquà trouver i valeur différentes et retourne lindice courant GetParent () Chaque nœud garde une trace de son père TreeModel overrides parent

58 ETAPE 3 : AFFICHAGE HIERARCHIQUE On doit accéder n x nbCriteres fois à un mp3 du répertoire nbCriteres << n C = o(N)

59 Complexité finale de lopération Filtrage + Tri C = o(N) + o(N.log(N)) + o(N) C ~ o ( N.log(N) )

60 Les Librairies Externes Jlayer : le player TinyLAF : les thèmes de linterface Graphique

61 Les points Négatifs… Pas de Menu Clic-Droit pourtant implémenter Après avoir fait « suivant » la chanson daprès ne se joue pas Pas de lecture de durée pas dindication davancement dans la lecture pas de bouton « pause » fonctionnel ! Pas dinterface Textuelle Problème de superposition de fenêtres

62 Les plus de notre projet… Quick Play ! Recherche Rapide Capacités de Filtrage et Tri avancées Plusieurs thèmes Redimensionnement pratique de chaque module Portabilité des PlayLists générées par notre application vers dautres plus connues comme Real Player, etc.

63 Les futures mises à jour de notre projet… Tag ID3 v1.1, v2 Edition des tags Durée, avancement Le Drag N Drop

64 Remerciements P.LAROQUE & JL.BOURDON (pour le cours de JAVA) B.DERDOURI & M.NAÏMI (pour le cours de calcul de la complexité) V.SANS (pour le cours dUML) Les Concepteurs de la JAVADOC

65 Modèle UML de notre projet interfaceMode (boolean) Application thread PlayerInterface menuPrincipal InterfaceTexte fenetrePrincipale InterfaceGraphique Root (String) Repertoire configData (Map<String,String) Config Tag (byte[]) isVisible (boolean) MP3Desc fromEnd (boolean) tagSize (int) TagReader Name (String) Opération (String) Value (Object) Filtre Criteres (String[]) CriteresVector Name (String) Size (int) Sortable (boolean) Field isPlaying (boolean) Filename (String) Playlist FILTRER

66 To be continue…


Télécharger ppt "JérOli Media Player Auteurs : J.FELLUS & O.NESTY."

Présentations similaires


Annonces Google