Lecteur de Fichier Mp3



Documents pareils
FORMATION MULTIMÉDIA LVE

Les outils numériques permettant l enregistrement de documents audiovisuels diffusés sur Internet sont nombreux. Certains sont gratuits.

Découvrez Windows NetMeeting

FORMATION MULTIMÉDIA LVE

Numérisation. Copieur-imprimante WorkCentre C2424

Mes premiers diaporamas avec Open Office Impress?

QUELQUES ÉLÉMENTS DU DÉVELOPPEMENT LOGICIEL

Guide des fonctions avancées de mywishtv

Si vous décidez d utiliser un autre chemin, c est ce nouveau chemin qu il faudra prendre en compte pour la sauvegarde. Cf. : Chapitre 9 Sauvegarde

Manuel v. 6sV Simplement surfer. Simplement cliquer. Simplement bloguer.

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Utilisation du logiciel ModellingSpace

Qu est ce qu une bibliothèque?

Organiser le disque dur Dossiers Fichiers

Chapitre 4 Pierre, papier, ciseaux

SOMMAIRE. Présentation assistée sur ordinateur. Collège F.Rabelais 1/10

LES TABLETTES : EN PRATIQUE

Mes documents Sauvegardés

Niveau 1. Atelier d'initiation à l'ordinateur ... Fondation de la Bibliothèque Memphrémagog inc. Magog (Québec) J1X 2E7 Tél.

Troisième projet Scribus

Utiliser Net Support School (NSS Version ) Philippe Cailleretz Er-Tice Avion mars 2011.

AwoX StriimLIGHT WiFi Color

eevision 2 Guide utilisateur Mail : contact@naotic.fr Tél. +33 (0) Fax. +33 (0)

Des outils numériques simples et conviviaux!

Mise en route de Cobian Backup

Comment accéder à d Internet Explorer

ipod classic Guide de l utilisateur

GUIDE MEMBRE ESPACE COLLABORATIF. Février 2012

Guide de l utilisateur Mikogo Version Windows

GUIDE ÉLÈVE. Mes identifiants : J'inscris mes identifiant et mot de passe personnels transmis par mon professeur :

MANUEL D UTILISATION POUR APPAREILS ANDROID

Tutorial Terminal Server sous

Comment réaliser une capture d écran dans Word. Alors comment ouvrir une page Word?

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Table des matières. Télécharger MetaTrader 4. Première connexion à MetaTrader 4. Se connecter à MetaTrader 4. Modifier la langue

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

L alternative, c est malin 1. Comment faire plein de choses pour pas cher sur MacIntosh

LPP SAINT JOSEPH BELFORT MODE OPERATOIRE ACTIVINSPIRE. Bonne utilisation à toutes et tous! UTILISATION DES TBI LE LOGICIEL ACTIVINSPIRE

MO-Call pour les Ordinateurs. Guide de l utilisateur

Banque d images SVT. Créer et utiliser une banque d images avec Picasa 2. Version anglaise -Windows 98. Banque photo en SVT : page 1 /14

Comment enregistrer simplement toute musique restituée par votre PC

COURS WINDEV NUMERO 3

Premiers Pas avec OneNote 2013

Microsoft Windows XP. Movie Maker 2

Manuel utilisateur «VisioJeunes»

Conferencing Services. Web Meeting. Guide de démarrage rapide V5_FR

Création d un petit livre Avec le logiciel «Didapages» Version Didapages 1.1 PC

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

Les 1 er pas sur. Guide d utilisation

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var Tel : bij@agasc.fr Word: Les tableaux.

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

Guide d utilisation en réseau et sans ordinateur PowerLite 1830

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

NIGHT VISION STUDIOS GUIDE DU LOGICIEL. Produit Voyance. Version 1.5

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards

Création d un diaporama photo sur fond musical avec iphoto et itunes dans un contexte scolaire

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

Comment insérer une image de fond?

Guide utilisateur. Parrot MKi9100. Français. Parrot MKi9100 Guide utilisateur 1

L application est utilisable pour toute personne disposant d un compte Qobuz.

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

«Petit guide d utilisation Prezi» par Marc Nolet

ipod shuffle Guide de l utilisateur

PAGE 1. L écran du logiciel d Open Office Draw. Barre de menu: Les commandes du logiciel

Windows Serveur 2012 : DHCP. Installation et mise en place

TAGREROUT Seyf Allah TMRIM

Conférence et partage avec NetMeeting

GeniusTim_Labo Version 1.0

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Un ordinateur, c est quoi?

Comment faire des étiquettes

NETSUPPORT SCHOOL 7 MAÎTRISEZ VOTRE ESPACE DE TRAVAIL ET CELUI DE VOTRE CLASSE INFORMATIQUE

Foire aux questions sur Christie Brio

Guide d installation des pilotes MF

Installation et utilisation du client FirstClass 11

RECUPEREZ DES FICHIERS SUPPRIMES AVEC RECUVA

Mon Mac & Moi : Addendum de 3M/023 Tout sur ipod. Réf : 3M/023A

On trouvera sur le site du CCDMD un exemple d album construit avec Cantare. (

Freeway 7. Nouvelles fonctionnalités

Tutoriels. 01 Utiliser Praat. 02 Transcrire sous Praat en utilisant les conventions VALIBEL. Sylviane Bachy. Rédaction octobre 2005

GUIDE D UTILISATION DU TABLEAU BLANC INTERACTIF EBEAM EDGE

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Installation du logiciel Windows Suivant Démarrer Tous les programmes Démarrer Tous les programmes Marketing Manager Marketing Manager Linux ici Mac

[WINDOWS 7 - LES FICHIERS] 28 avril Logiciel / Windows

Premiers pas avec NetSupport SCHOOL

Chapitre 22 Optimisation pour diffusion à l'écran, pour le web

Manuel. Nero MediaHome. Nero AG

LA TABLETTE, UN OUTIL POLYVALENT!

Réalisation de cartes vectorielles avec Word

ndv access point : Utilisation

guide Audio Conférence Automatisée

Formation Informatique. Utiliser les périphériques informatiques

Initiation au logiciel imovie HD

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

PRÉSENTÉ PAR : NOVEMBRE 2007

Guide utilisateur de l application messagerie vocale visuelle pour smartphone

Transcription:

OPTION ISN Lecteur de Fichier Mp3 Dossier de Projet Option ISN Tristan PERRET Terminale S SI Terminale S SI - Lycée Jules Algoud Option ISN - Année Scolaire 2012-2013

Table des Matières I- Le projet de Lecteur de fichier mp3...2 a) Les raisons du choix de ce projet et ses objectifs...2 b) Les moyens choisis pour ce projet et les raisons...2 II- Conception du lecteur...3 a) La mise en place des commandes principales...3 b) Création des fonctions «secondaires»...4 c) Interface graphique...5 III- Bilan et observations...8 a) Les Points positifs...8 b) Les Points négatifs...8 Conclusion...8 Annexe...9 1

I- Le projet de Lecteur de fichier mp3 a) Les raisons du choix de ce projet et ses objectifs Avec mon camarade, ARMATOL Simon, nous avons eu l idée de concevoir un lecteur de fichier mp3. En effet, étant amateur de musique, je trouvais intéressant d aborder ce thème et cet aspect de la programmation pour comprendre au mieux ce qui se cache dans les lecteurs type Windows Media que l on a l habitude d utiliser sans pour autant chercher à comprendre comment ils sont conçus. Nous nous sommes également rendu compte que les utilisateurs de ces logiciels multimédia utilisaient régulièrement les mêmes fonctions malgré le nombre incroyable de possibilités et d options que l on trouve sur ces logiciels. Après avoir défini ce que nous voulions faire lors des séances d ISN, notre objectif fut donc de concevoir un programme permettant de lire des fichiers musicaux tout en jouissant d une interface agréable, réduite à l essentiel et simple d utilisation. Ce lecteur doit donc être avant tout un lecteur d appoint permettant de tester des fichiers mp3 ou de simplement écouter de la musique, ce qui explique que nous n avons pas essayé de créer un lecteur média de type VLC. b) Les moyens choisis pour ce projet et les raisons Pour créer notre lecteur nous avons fait le choix d utiliser le langage Python, qui est le langage que nous avons le plus étudié tout au long de l année. Ce lecteur étant mon premier projet en programmation, je ne préférais donc pas partir sur un langage trop complexe, comme par exemple le langage C, et me concentrer sur une forme de langage plus accessible pour moi. En complément de Python, nous avons utilisé des modules comme l interface Tkinter qui nous a permis de gérer l interface graphique de notre logiciel et de créer notre fenêtre. Concernant le lecteur audio, nous avons utilisé le module Pygame, module qui nous a été conseillé par notre professeur et qui est, à l origine, utilisé pour créer des jeux vidéo, et notamment la fonction «Mixer» qui nous a permis de gérer toutes les commandes nous permettant de gérer la lecture audio (boutons «Lecture», «Stop», «Reprise» et «Volume»). 2

II- Conception du lecteur a) La mise en place des commandes principales Il va de soi que pour un lecteur audio, il est nécessaire de pouvoir transférer notre musique sur le lecteur ce qui est donc notre commande principale. Pour la réaliser, nous utilisons la fonction : pygame.mixer.music.load('xxx.mp3') Cette fonction nous permet de charger, dans le lecteur, la musique qui porte le nom xxx qui est un fichier en format.mp3. Il faut cependant que ce premier fichier se trouve dans le même dossier que le programme. Cette fonction est utilisée au démarrage du programme. Il faut ensuite lire le fichier que l on a importé dans le programme, pour cela on utilise : pygame.mixer.music.play() Cette fonction a pour but de lire le fichier chargé précédemment. Afin de compléter la lecture et l utilisation du logiciel, nous rajouterons une fonction pause permettant d interrompre le fichier audio et pour cela on utilise : pygame.mixer.music.pause() Cette fonction nous permet de stopper la lecture en cours Néanmoins, la fonction pause nous pose un problème puisque lorsque l on relance la lecture du fichier, celui-ci reprendra au début. Pour remédier à ce problème on utilise la fonction reprise qui est la suivante : pygame.mixer.music.unpause() Cette fonction nous permet de reprendre la musique mise en pause à l endroit exacte où l on s est arrêté. Chacune de ces trois fonctions doivent être définies et reliées à un bouton pour pouvoir les manipuler aisément. C est ce que nous verrons dans notre partie concernant l interface graphique. 3

b) Création des fonctions «secondaires» Comme fonction secondaire, nous avons créé une fonction permettant d ouvrir un fichier mp3 à partir de nos documents : fichier_music=tkfiledialog.askopenfile (title='choisissez un fichier', filetypes=[('mp3 files', '.mp3')]) pygame.mixer.music.load(fichier_music.name) Cette fonction nous permet, quand on clique sur le bouton prévu à cet effet, d ouvrir une boite de dialogue avec nos documents, il suffit alors de circuler dans nos documents, où seuls les fichiers mp3 apparaissent, et de choisir un fichier pour l ouvrir dans le lecteur. Si une musique est en cours à ce moment, elle s interrompt et il suffit d appuyer sur lecture pour lancer le nouveau fichier. Nous avons aussi modifié la fonction précédente pour pouvoir créer une liste de lecture: fichier_music = tkfiledialog.askopenfile(title='choisissez un fichier',filetypes=[('mp3 files', '.mp3')]) pygame.mixer.music.queue(fichier_music.name) Cette fonction a le même objectif que la fonction précédente mais à la place de stopper la musique en cours, elle place le fichier à sa suite et le lancera automatiquement à sa fin. Pour avoir une plus grande marge de manœuvre suivant l utilisateur du lecteur, nous avons créé un système permettant de changer le volume du fichier audio à l aide d un curseur : Mafenetre.after(100,Vol) vol1 = Boutonvolume.get() pygame.mixer.music.set_volume(vol1*.01) Grace a cette partie la position du curseur est actualisée toute les 100 ms et le volume prend la valeur du curseur. Nous avons aussi programmé un bouton «Mute» avec la fonction : Boutonvolume.set(0) Ce qui donne au curseur de volume la valeur 0 et donc permet de couper le son. Nous avons remarqué que lorsque l on quitte l application sans avoir stoppé la musique au préalable, la lecture continuait pendant un petit moment 4

avant de s arrêter. Nous avons donc créé un bouton «Fermer» qui permet de stopper la musique et de fermer la page : Mafenetre.destroy() pygame.mixer.music.pause() c) Interface graphique Après avoir établi toutes les fonctions citées précédemment, il fallait bien entendu les intégrer dans notre logiciel. Pour ce faire nous avons utilisé Tkinter. Dans un premier temps il fallait créer la page, pour cela : Mafenetre = Tk() Mafenetre.geometry('600x500+400+400') Mafenetre.configure(bg='black') Mafenetre.title('Lecteur audio') Mafenetre.iconbitmap('effet.ico') Ce code nous a permis de créer une page nommée «Lecteur Audio» avec une icône, un fond noir et des dimensions pré-définies. Nous avons ensuite fait apparaître nous trois boutons comprenant les commandes principales, voici l exemple du bouton lecture : play = PhotoImage(file="PlayBleu.gif") BoutonLecture = Button(Mafenetre, text ='Lecture', command = Lecture, fg='blue', bg='black, image=play) BoutonLecture.pack(side = LEFT, padx = 10, pady = 10) Cet exemple nous permet de montrer qu il nous a fallu définir pour ce bouton, à savoir la couleur, le texte, la position, la taille et la commande. Nous avons aussi intégrer une icône à la place du Bouton standard que nous avons dû définir et importer auparavant. Nous reproduirons cet exemple pour les deux autres. Le curseur du volume se présente sous cette forme : Boutonvolume = Scale(Mafenetre, from_=100, to=0,fg='yellow', bg='black') Boutonvolume.set(50) Boutonvolume.pack(side = LEFT, padx = 15, pady = 15) 5

Encore une fois on y définit les couleurs, les dimensions et la commande, mais l on voit aussi la plage des valeurs comprises entre 100 et 0 ainsi que la valeur au démarrage qui est de 50. Nous décidons que le mode «Mute» se présentera sous la forme d une case à cocher : var1 = IntVar() tonbouton1 = Checkbutton(Mafenetre, text = "MUTE", command = Mute, variable = var1,fg='yellow', bg='black') tonbouton1.pack() tonbouton1.select() var1.set(0) Nous avons aussi rajouté un menu déroulant pour les fonctions «Fermer», «Ouvrir» et «Ajouter dans playlist» : menubar = Menu(Mafenetre) Mafenetre.config(menu=menubar) filemenu = Menu(menubar, tearoff=0) filemenu.add_command(label="ouvrir", command=ouvrir) filemenu.add_command(label="ajouter dans playlist", command=liste) filemenu.add_separator() filemenu.add_command(label="fermer", command=exit) menubar.add_cascade(label="fichier", menu=filemenu) Avec ce code, on peut voir tous les boutons qui sont présent dans notre menu déroulant, la séparation entre «Fermer» et les autres commandes, ainsi que le nom du menu déroulant «Fichier». Nous avons ensuite placé un cadre de liste qui permet de faire apparaitre le titre des morceaux que l on demande au lecteur de lire : listbox = Listbox(Mafenetre,width=40) listbox.insert(0, "PLAYLIST: ") listbox.pack(side = RIGHT, padx = 10, pady = 10) 6

Pour afficher le nom du fichier dans notre cadre à son ouverture dans le lecteur on a rajouté à ce code : listbox.insert(end, fichier_music.name) Ainsi le nom du fichier est écrit dans la listbox. Le «.name» permet de réduire la longueur de l adresse. Lorsque l on utilise la fonction «ouvrir un fichier», cela efface la playlist en cours et en créé une autre, pour ce faire, nous avons rajouté le code suivant : listbox.delete (1, END) Pour rendre le tout plus esthétique, nous avons décidé de rajouter une image sur le fond de notre page : photo = PhotoImage(file="Affiche.gif") Largeur = 500 Hauteur = 300 Canevas = Canvas(Mafenetre,width = Largeur, height =Hauteur) item = Canevas.create_image(0,0,anchor=NW, image=photo) Canevas.pack() Pour ce faire, il nous a fallu créer une zone de dessin avec «Canevas» avant d y intégrer l image désirée. 7

III- Bilan et observations a) Les Points positifs Pour conclure, j ai trouvé cette année très intéressante car nous avons pu toucher du doigt l univers très fermé et complexe de la programmation informatique grâce à la réalisation d un projet concret, qui fonctionne et qui peut être, à ce jour, utilisé par n importe qu elle personne. Le travail en équipe a été réalisé avec une réelle collaboration permise par des échanges d idées et une entraide lorsque des problèmes se posaient et s est également ce qui a permis au projet de se concrétiser. Mais chacun de notre côté nous avons également contribué à améliorer notre logiciel par un travail personnel de recherche et d investigations de solutions aux différentes problématiques posées par notre projet. Et c est grâce à cela que nous avons pu créer le logiciel qui vous est présenté. b) Les Points négatifs Il se peut que notre projet ait été un peu ambitieux mais, pour ma part, j ai trouvé fastidieux de sortir un projet concluant après seulement quelques cours de programmation, mais aussi en raison du fait que les techniques apprises tout au long de l année ne correspondaient pas forcément tout le temps avec notre projet. Nous avions décidé de créer un projet différent des autres qui vous ont été présentés, sortant de l ordinaire et même si les bases sont présentes dans le logiciel qui vous est présenté, nous aurions voulu le rendre encore plus complet, en créant une barre d avancement de la musique et un système mp4, fonctionnalités complexes malheureusement non exploitables avec le module Pygame. Conclusion En conclusion, malgré quelques difficultés, nous sommes tout de même fiers de vous présenter notre travail qui, bien qu améliorable, correspond à notre idée de départ, qui était de réaliser un lecteur de fichier mp3 concret et basique, permettant à l utilisateur de ne plus se perdre dans les différentes options de son logiciel, mais de se concentrer sur ce qu il attend d un lecteur de fichier mp3 : écouter de la musique. 8

Annexe Ci-joint l interface de notre lecteur audio, décomposé en cadres de couleurs qui correspondent chacun à une partie du code (de même couleur que les cadres) qui vous est détaillé ci-dessous, pages 10 à 11. 9

import pygame from Tkinter import * import tkfiledialog from pygame import mixer Modules importés pour le programme def ouvrir(): fichier_music = tkfiledialog.askopenfile(title='choisissez un fichier',filetypes=[('mp3 files', '.mp3')]) pygame.mixer.music.load(fichier_music.name) listbox.delete (1, END) Réinitialisation de la listbox listbox.insert(end, fichier_music.name) def Liste(): fichier_music = tkfiledialog.askopenfile(title='choisissez un fichier',filetypes=[('mp3 files', '.mp3')]) pygame.mixer.music.queue(fichier_music.name) listbox.insert(end, fichier_music.name) def Exit(): Mafenetre.destroy() pygame.mixer.music.pause() def Lecture(): pygame.mixer.music.play() Ferme la page Stop la musique def Pause(): pygame.mixer.music.pause() def Reprise(): pygame.mixer.music.unpause() def Vol() : Mafenetre.after(100,Vol) 100 ms temps d'actualisation de la valeur du son vol1 = Boutonvolume.get() Prendre la valeur du Volume pygame.mixer.music.set_volume(vol1*.01) Donne une valeur a la variable «vol» def Mute(): Boutonvolume.set(0) Mafenetre = Tk() Mafenetre.geometry('600x500+400+400') Mafenetre.configure(bg='black') Mafenetre.title('Lecteur audio') Mafenetre.iconbitmap('effet.ico') Couleur du fond de la page Mafenetre.after(100,Vol) Rafraichissement de la valeur du volume 10

photo = PhotoImage(file="Affiche.gif") Largeur = 500 Hauteur = 300 Canevas = Canvas(Mafenetre,width = Largeur, height =Hauteur) item = Canevas.create_image(0,0,anchor=NW, image=photo) Canevas.pack() Zone de dessin rectangulaire menubar = Menu(Mafenetre) Mafenetre.config(menu=menubar) filemenu = Menu(menubar, tearoff=0) filemenu.add_command(label="ouvrir", command=ouvrir) filemenu.add_command(label="ajouter dans playlist", command=liste) filemenu.add_separator() filemenu.add_command(label="fermer", command=exit) menubar.add_cascade(label="fichier", menu=filemenu) pygame.init() Initialisation du module Boutonvolume = Scale(Mafenetre, from_=100, to=0,fg='yellow', bg='black') Boutonvolume.set(50) Boutonvolume.pack(side = LEFT, padx = 15, pady = 15) var1 = IntVar() tonbouton1 = Checkbutton(Mafenetre, text = "MUTE", command = Mute, variable = var1,fg='yellow', bg='black') tonbouton1.pack() tonbouton1.select() var1.set(0) pygame.mixer.music.load('eiffel 65 - Blue.mp3') play = PhotoImage(file="PlayBleu.gif") BoutonLecture = Button(Mafenetre, text ='Lecture', command = Lecture, fg='blue', bg='black', image=play) BoutonLecture.pack(side = LEFT, padx = 10, pady = 10) Importation de l icône pour le bouton pause = PhotoImage(file="PauseBleu.gif") BoutonPause = Button(Mafenetre, text ='Pause', command = Pause, fg='blue', bg='black, image=pause) BoutonPause.pack(side = LEFT, padx = 10, pady = 10) reprise = PhotoImage(file="RepriseBleu.gif") BoutonUnpause = Button(Mafenetre, text ='Reprise', command = Reprise, fg='blue', bg='black', image=reprise) BoutonUnpause.pack(side = LEFT, padx = 10, pady =10) listbox = Listbox(Mafenetre,width=40) listbox.insert(0, "PLAYLIST: ") listbox.pack(side = RIGHT, padx = 10, pady = 10) Mafenetre.mainloop() Fin de la page Chargement de la musique d ouverture (ici Eiffel 65) 11