begin process at 2012 02 08 21:29:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

DirectX

 > MY PLAYER : VOTRE LECTEUR MP3 [COMPLET]

MY PLAYER : VOTRE LECTEUR MP3 [COMPLET]


 Information sur la source

Note :
9,86 / 10 - par 7 personnes
9,86 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :DirectX Niveau :Débutant Date de création :30/10/2004 Date de mise à jour :12/11/2004 23:44:46 Vu / téléchargé :12 593 / 1 881

Auteur : LiBe444

Ecrire un message privé
Site perso
Commentaire sur cette source (65)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
My Player se comporte comme un veritable baladeur MP3 : fonctionnel, très discret, léger en place, il sait être un veritable compagnon de travail en vous permettant d'écouter de la musique pendant votre temps passé sur l'ordinateur.

N'OUBLIEZ PAS LE MENU OPTIONS SUR VOTRE DROITE (LE LOGO "NOTE DE MUSIQUE")

Source

  • Tout tient dans le zip
Tout tient dans le zip

 Conclusion

Voici quelques fonctionnalitées contenues :
- chargement de listes
- possibilité de démarrer avec windows
- shuffling
- mise en barre de notification
- glisser-deplacer
- ...

Technologie utilisée : DirectShow et le registre pour les valeurs telles que l'historique ou les options

(j'ai créé une version anglaise pour une eventuelle exploitation de mon programme à plus grande échelle)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

30 octobre 2004 22:45:53 :
précision de la description de la source
30 octobre 2004 22:48:57 :
idem
31 octobre 2004 09:34:00 :
Modification par suggestion de BruNews.
31 octobre 2004 09:34:04 :
Modification par suggestion de BruNews.
31 octobre 2004 09:34:06 :
Modification par suggestion de BruNews.
31 octobre 2004 09:34:08 :
Modification par suggestion de BruNews.
31 octobre 2004 12:05:45 :
Deux erreurs ont été corrigées. MyPlayer est désormais stable.
31 octobre 2004 13:23:03 :
Correction par suggestion de Kirua.
31 octobre 2004 14:16:35 :
Simplification du processus de chargement de liste.
31 octobre 2004 14:25:12 :
idem
31 octobre 2004 15:53:18 :
MyPlayer gagne en portabilité : les variables sont déclarées en début de boucle et elles sont initialisées.
31 octobre 2004 17:53:35 :
Correction d'une erreur CRITIQUE suite à une amélioration.
31 octobre 2004 17:58:42 :
détail dans la description
02 novembre 2004 15:58:37 :
Amélioration par suggestion de Arnaud16022. Attention c'est très imparfait ! Quelqu'un peut il m'aider?
02 novembre 2004 20:38:33 :
précision du titre
04 novembre 2004 13:23:54 :
MyPlayer peut s'ouvrir avec un fichier désormais.
04 novembre 2004 13:53:21 :
problème corrigé à la suite de l'amélioration
04 novembre 2004 16:54:55 :
Deux erreurs de playlist ont été corrigées (niveau 3 assez grave)
04 novembre 2004 18:32:14 :
Corrections minimes (à l'affichage)
04 novembre 2004 18:34:07 :
Zip incomplet
06 novembre 2004 12:59:08 :
La compatibilité cygwin<->MinGW est maintenant assurée. Je ne testerai pas ce programme sous Visual C++ (par principe).
06 novembre 2004 21:54:20 :
Deux options supplémentaires dans le menu options de My Player : - redemarrer la playlist à la fin de sa lecture - spécifier une playlist au démarrage de l'ordinateur (très pratique) ...et correction d'une grosse erreur (pour ceux qui migrent vers la nouvelle version, je recommande d'effacer la clé HKCU/Software/MyPlayer et son arborescence)
07 novembre 2004 13:17:32 :
Correction d'une erreur assez grave (niveau 3).
08 novembre 2004 20:41:28 :
Amélioration de l'interface graphique PAR ARNAUD16022... Merci ! (l'executable passe de 70 à 53 ko)
09 novembre 2004 22:55:39 :
Les contours de la fenêtre sont enfin décrits... La fenêtre n'a plus besoin d'être raffraichie pour sauvegarder la transparence.
09 novembre 2004 22:58:07 :
précision du titre
11 novembre 2004 15:12:32 :
(faible) lissage des traits.
12 novembre 2004 11:48:40 :
Le source est (enfin) commenté.
12 novembre 2004 23:42:45 :
Corrections minimes à l'affichage. Peut-être version finale du programme.
12 novembre 2004 23:44:46 :
Petite précision du titre.

 Sources du même auteur

Source avec Zip Source avec une capture CODE SOURCE D'UN MOTEUR TROIS DIMENSIONS - LES BASES
Source avec Zip Source avec une capture INTERPRÈTEUR DE SCRIPT EN LANGAGE "K"

 Sources de la même categorie

Source avec Zip Source avec une capture MP3 DX9 JOUER par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture EQUINOX VISUAL SON METER par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture FLEUR EN DELIRE! par f_l_a_s_h_b_a_c_k
Source avec Zip Source avec une capture DIREXCT X 9 D3D par f_l_a_s_h_b_a_c_k
Source avec Zip BLOP DIRECT X par f_l_a_s_h_b_a_c_k

Commentaires et avis

Commentaire de BruNews le 30/10/2004 23:17:02 administrateur CS

Salut,

attention que:
RegCreateKeyEx(HKEY_LOCAL_MACHINE, ....
va en limiter l'usage a la session admin, serait dommage vu que c'est pas trop le role d'administrateur d'aller ecouter des MP3 sur les PCs.

Commentaire de dletozeun le 30/10/2004 23:32:46

tiens c'est bizarre chez moi ca marche pas et ca fais méchament planter windows...8(

Commentaire de Gendal67 le 31/10/2004 09:14:03

Comment dire : Je suis impressionné !! C'est pire qu'hallucinant ton truc!!! Mes sincères félicitations!!!
Just a little pb : j'utilise aussi dev-c++, mais il connait pas dshow.h , c'est normal ?

En tt cas, chez moi, ça marche nikel ! :-)) a++

Commentaire de LiBe444 le 31/10/2004 09:21:17

Bonjour et merci de votre attention.

A Brunews le génie, Si je l'enregistre dans HKEY_CURRENT_USER, le problème est-il résolu?

A dletozeun, MyPlayer (je l'ai oublié et vous prie de m'en excuser) necessite l'installation de DirectX 9.

A Gendal67, Merci ! dshow.h peut se télécharger dans le menu Outils>Nouvelles Versions/Packages avec PlanetMirror.com.

@+

Commentaire de Gendal67 le 31/10/2004 10:16:53

Dis voir, par contre, une question qui me trotte : ou as tu appris tout ça pour faire ce magnifique lecteur mp3 ? Si il s'agit d'un ou plusieurs livres, peux tu me donner leurs références stp ??

Un grand merci d'avance !!

PS: Merci pr le tip pour DL dshow.h :-))

Commentaire de LiBe444 le 31/10/2004 10:21:52

Tout ce que j'ai appris est sur le reseau de développeurs microsoft (MSDN)

Commentaire de BruNews le 31/10/2004 10:36:22 administrateur CS

OK pour HKEY_CURRENT_USER, chacun peut acceder.

Commentaire de Kirua le 31/10/2004 12:56:13

esthétique, ergonomique, sympa comme prog. j'ai juste une remarque: pas moyen de moduler le son chez moi. j'ai beau clicker comme un forcené sur le + et le -, no way :(

Commentaire de LiBe444 le 31/10/2004 13:10:27

Oui parce qu'en fait je ne me suis pas concentré sur la zone souris + et -, mais en cliquant en peu à gauche sur les boutons ça marche

Commentaire de cosmobob le 31/10/2004 13:20:06

salut,
j'ai pas pu compiler car j'ai pas dshow.h, mais chez moi le .exe plante quand j'ouvre un mp3.

Commentaire de LiBe444 le 31/10/2004 13:25:20

Salut cosmobob,
en théorie c'est impossible sauf si tu ne disposes pas de DirectX 9.

Commentaire de LiBe444 le 31/10/2004 13:27:16

Kirua : ton problème est corrigé.

Commentaire de cosmobob le 31/10/2004 13:30:51

ben je t'assure que ca plante, et je possede directx (derniere version). ca doit comme la majorité des plantages venir d'une mauvaise gestion des chaines de caracteres dans ton prog, ou des pointeurs. je peux pas compiler, donc je peux pas debugger non plus...

a++ ;)

Commentaire de Gendal67 le 31/10/2004 13:32:53

Son programme marche très bien chez moi, dc ça ne vient pas de son code, ça je ne crois pas...moi j'ai Windows XP SP2 et tout fonctionne nickel :)

Commentaire de cosmobob le 31/10/2004 13:35:41

ha ben tiens bingo, jviens d'aller voir ds le registre,
et ds HKCU/Software/MyPlayer/History, File1 vaut D:ÔwˆÑwÿÿÿÿÿ‡Ñw\ÔwˆÑwÿÿÿÿÿ‡ÑwsÔwˆÑwÿÿÿÿÿ‡ÑwoÔwˆÑwÿÿÿÿÿ‡ÑwnÔwˆÑwÿÿÿÿÿ‡Ñw\

(le répertoire ou j'ai toujours tenté d'ouvrir un mp3 etait D:\son)

donc ca doit effectivement venir d'une mauvaise gestion des chaines de caracteres.

Commentaire de cosmobob le 31/10/2004 13:38:59

si si qd un programme plante, ca vient toujours de son code :) lol
la il s'agit pas que de l'os (je suis sous XP pro, avec SP2 installé correctement), mais aussi de l'environnement, le repertoire ou on va chercher nos mp3s est different...
les programmes avec une mauvaise gestion des pointeurs ont de toute maniere la particularité de planter de maniere aleatoire (enfin celui ci, chez moi c'est tout le temps).

Commentaire de LiBe444 le 31/10/2004 13:40:57

Ah oups, là c'est chez moi alors.

Commentaire de LiBe444 le 31/10/2004 13:45:05

Le glisser déplacer fonctionne t-il chez toi cosmobob?

Commentaire de LiBe444 le 31/10/2004 13:50:14

(PS:j'ai placé un dossier D:\son et ça fonctionne. Quel est le repertoire de ton executable?)

Commentaire de cosmobob le 31/10/2004 13:54:03

le repertoire de mon exe : "C:\Fichiers téléchargés\cppfrance_source_27186\bin\MyPlayer.exe"

il apparait correctement ds le registre (ds le filename de HKCU/Software/MyPlayer/Shell)

Commentaire de dletozeun le 31/10/2004 13:54:33

J'ai bien directX 9 et ca plante quand meme

Commentaire de cosmobob le 31/10/2004 13:56:27

et sinon oui le glisser déplacer semble fonctionner. (je peux jouer le mp3 correctement apres)

Commentaire de cosmobob le 31/10/2004 14:00:48

enfin quand ds le code source, je vois
      char t[0];
      t[0]='a';
ca m'etonne moins que ca plante :) (char t[0], c'est n'importe quoi :), qd tu fais char t[N], les indices valables vont de 0 a N-1, mais la je vois pas l'interet de pas faire char t; tout court...)
(c'est ds le LoadList)

Commentaire de LiBe444 le 31/10/2004 14:04:01

Euh oui, je dois dire que j'ai programmé cette fonction dans un contexte très spécial ;)
J'ai eu énormément de mal à manier la variable ofn.lpstrFile qui avec un multiselect rélève d'un exploit concernant son utilisation !

Commentaire de LiBe444 le 31/10/2004 14:17:18

Et là? ça marche?

Commentaire de LiBe444 le 31/10/2004 14:20:38

dletozeun et cosmobob : vous êtes confrontés au même problème. Cette version corrigée du zip marche elle?

Commentaire de cosmobob le 31/10/2004 15:14:01

oui chez moi ca y'est ca marche, enfin ca ne plante plus qd j'ouvre un mp3, et je peux le jouer sans probleme ;)
"
Salut cosmobob,
en théorie c'est impossible sauf si tu ne disposes pas de DirectX 9.
"

comme quoi tout est possible lol

a++ ;)

Commentaire de LiBe444 le 31/10/2004 15:19:51

Ah! Bonne nouvelle!
Merci de m'avoir signalé cette erreur.

Commentaire de cosmobob le 31/10/2004 15:23:18

cela dit le code reste assez 'sale'.
      char t;
      while(t!='\0')
fo pas faire ca, t'as pas initialisé le t... ca peut marcher certaines fois et d'autres non.
j'ai l'impression dans ta facon de gerer tout ca (pointeurs, et char*) qu'il te manque certaines bases du C (t'as complexifié des parties qui pouvaient se traiter tres simplement), jte conseille de reprendre un peu la base, sinon apres déboguer certains trucs devient vraiment un casse tete.

a++ ;)

Commentaire de cosmobob le 31/10/2004 15:26:16

sur un autre compilateur, (vs par exemple), compiler en debug met automatiquement toutes les variables non initialisées a 0, et je peux t'assurer que le cas précédent entrainerait le contraire de l'effet voulu (impossibilité d'ouvrir un mp3)

Commentaire de LiBe444 le 31/10/2004 15:43:21

Eh bien j'ai commencé ma formation "universitaire" de C il y a un mois.
Je fait du c++ depuis avril mai.
Il y a desordre certes mais j'ai toujours préféré  commencer avec des concepts et des objets qui me plaisent.

Commentaire de LiBe444 le 31/10/2004 15:54:54

cosmobob, j'ai fait quelque chose pour y remedier...
Qu'en penses tu?

Commentaire de cosmobob le 31/10/2004 17:24:02

ben j'en pense pas gd chose, juste que c'est pas commenté, donc un peu difficile a lire pour les autres.
c'est un peu fouilli et la partie LoadLibrary (qui est la seule un peu que j'ai regardé en détail, vu que j'avais vu que c'etait a cet endroit que ca plantait chez moi) est mal faite (yavait moyen de faire bcp plus simple et plus clair).
et sinon pour moi, strcpy est a bannir tout comme strcat (preferer les versions strncpy et strncat ou il faut spécifier la taille maximale du buffer), car les debogages dus a des débordements d'indice sont difficiles (ca peut par exemple modifier une autre variable... pour trouver ensuite la cause, hmmm)
enfin voila, au bout d'un moment, tout le monde code mieux de toutes manieres, la au bout d'un mois de C, c'est loin d'etre catastrophique qd meme
a++ ;)

Commentaire de cosmobob le 31/10/2004 17:25:31

je sais pas si ya d'autres pers
qui ont des pb d'affichage sur cette page
mais ca la rend penible a lire
(les phrases longues sont coupées a droite)
clic droit, afficher la source, permet de tout lire.

++

Commentaire de LiBe444 le 31/10/2004 17:55:38

oui tu as remarqué toi aussi... je me mets toujours en plein écran

Commentaire de LiBe444 le 31/10/2004 17:57:24

1 mois == 4 heures de TPs en C (ça se passe comme ça chez nous)

Commentaire de dletozeun le 31/10/2004 20:35:26

voila!! ca fonctionne impec! super t'as pas dis qu'il lis aussi les mpeg!

Sinon j'ai pas vraiment compris...quel etait le probleme avant? pourquoi moi et cosmobob on avais cette erreur et pas toi?

Commentaire de goutbouyo le 31/10/2004 20:53:23

Franchement un super programme !!!
Félicitation.
Ca fait un lecteur mp3 discret, je vais plus le quitter ! LOL !

Commentaire de LiBe444 le 31/10/2004 21:07:59

Merci!
L'erreur résidait dans le découpage des chaines de caractères.
Tout dépend des PC et de leur mémoires si l'on n'introduit pas un '\0' final

Commentaire de Arnaud16022 le 31/10/2004 22:41:01

super. ca marche sans accroc chez moi, ya juste que mes haut-parleurs étaient pas branchés ;)
j'ai un peu de mal a me repérer dans la source, maissi je comprend bien c'est DirectX qui lit le mp3?
sinon c'est bien, l'icone dans la barre des taches avec le menu, c'est encore plus petit que pour Windows Media Series 9 (qui pourtant est pratique)
Tu pourrais pas, tant que tu y est, enlever le cadre windows? ca serait plus joli...je trouve. mais c'est pas bien grave (et assez compliqué, je crois :) )

Commentaire de Shaihuld le 31/10/2004 23:36:34

VRAIMENT MA-GNI-FIQUE !!!!! continue comme ca !!

Commentaire de TryWan le 01/11/2004 10:09:21

Je suis débutant. Lorsque je le compile j'ai plusieurs erreurs. Voici le log de compilation:

Compilateur: Default compiler
Exécution de  g++.exe...
g++.exe "C:\MP3\main.cpp" -o "C:\MP3\main.exe"    -I"C:\Dev-Cpp\include"  -I"C:\Dev-Cpp\include\c++\3.3.1"  -I"C:\Dev-Cpp\include\c++\3.3.1\mingw32"  -I"C:\Dev-Cpp\include\c++\3.3.1\backward"  -I"C:\Dev-Cpp\lib\gcc-lib\mingw32\3.3.1\include"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" -L"C:\Dev-Cpp\include"
In file included from C:/Dev-Cpp/include/dshow.h:46,
                 from C:/MP3/main.cpp:9:
C:/Dev-Cpp/include/strmif.h:6166: error: redefinition of `struct _RGNDATAHEADER
   '
C:/Dev-Cpp/include/wingdi.h:2075: error: previous definition of `struct
   _RGNDATAHEADER'

C:/Dev-Cpp/include/strmif.h:6175: error: redefinition of `struct _RGNDATA'
C:/Dev-Cpp/include/wingdi.h:2082: error: previous definition of `struct
   _RGNDATA'

In file included from C:/Dev-Cpp/include/dshow.h:46,
                 from C:/MP3/main.cpp:9:
C:/Dev-Cpp/include/strmif.h:20557: error: `IID_IAMFilterGraphCallback' was not
   declared in this scope
C:/Dev-Cpp/include/strmif.h:20557: error: ISO C++ forbids declaration of `
   EXTERN_GUID' with no type
C:/Dev-Cpp/include/strmif.h:20557: error: initializer list being treated as
   compound expression

C:/Dev-Cpp/include/strmif.h:28736: error: declaration of `GUID tagVMRGUID::GUID
   '
C:/Dev-Cpp/include/winnt.h:1337: error: changes meaning of `GUID' from `typedef
   struct _GUID GUID'

Exécution terminée

Commentaire de LiBe444 le 01/11/2004 12:29:17

Bonjour,
Merci pour ces commentaires encourageants !

A trywan, oui j'ai du moi aussi faire des modifications dans strmif.h pour que ça se compile. (et uniquement dans ce fichier)

voici l'adresse de mon strmif.h :
http://libe4.free.fr/strmif.h

Voilà @+

Commentaire de coucou747 le 01/11/2004 18:17:44 administrateur CS

DSL je n'ai pas vraiment compris l'intèrieur du fichier main.cpp...
J'aimerais juste savoir si ce fichier source lit le fichier mp3 ou si une librairie s'en charge ? (projets de stéganographie en cours...)

Commentaire de TryWan le 01/11/2004 18:26:56

Merci, j'ai remplacé le fichier mais j'ai toujours le meme probleme :'(

Commentaire de Arnaud16022 le 01/11/2004 19:53:31

coucou -> moi aussi j'attend la reponse mais il me semble que c'est DirectX qui lit les mp3.
je ne comprend pas comment on peut se trimbaler un fichier de 40 Ko (2000 lignes !!!)

Commentaire de LiBe444 le 01/11/2004 21:44:29

Rebonjour,
oui en effet c'est DirectShow qui s'occupe de lire les mp3. Je me contente de créer un graphe (un média en fait) puis de le parcourir avec la fonction Run() de l'interface IMediaControl.
Désolé coucou747 (je sais ô combien la stenographie t'interesse).

Commentaire de LiBe444 le 03/11/2004 16:31:33

Bonjour,
Mais oui bien sûr : à l'aide du bouton croix en haut à droite.
Certes l'image n'est pas explicite.
@+

Commentaire de LiBe444 le 04/11/2004 13:26:44

Voilà. C'est revu et corrigé

Commentaire de Urgo le 04/11/2004 21:18:12

Y'a un joli bug lorsqu'on essai de déplacer ton prog!
Les coins sont blancs, mais pas invisibles!

Sinon je me suis pas trop atardé sur le code (car flemme d'analyser ça sous Dev-cpp)

Commentaire de Arnaud16022 le 04/11/2004 21:23:31

c'est pas un bug.
libe444, bravo...
juste un truc, la texture a été compressée en jpg avant le bmp ou quoi? elle est bizarre...

Commentaire de LiBe444 le 04/11/2004 21:39:03

Eh bien justement Urgo, je n'ai pas trouvé moyen de résoudre ce problème.
Est-ce que quelqu'un a une idée?

(non Arnaud16022 c'est un bitmap.
J'ai pris plein de morceaux d'images extraits sur Google Images, un morceau de pochette de cd et un morceau de néon dans une bouche de métro)

Commentaire de Arnaud16022 le 04/11/2004 22:04:27

en fait la partie affichage de la skin est bizarre, floue, pixelisée..zarbi quoi.

Commentaire de LiBe444 le 04/11/2004 22:18:06

Arnaud, si tu as un bon skin, je suis preneur !

Commentaire de Arnaud16022 le 04/11/2004 22:40:01

nan pas vraiment.
je vais te la refaire un petit peu mieux

Commentaire de Arnaud16022 le 04/11/2004 23:01:30

voila c'est fait...
si tu pouvais me filer ton mail que je te l'envoie...

Commentaire de BruNews le 04/11/2004 23:10:14 administrateur CS

Suffisait de donner ton mail par message prive pour eviter le spam.

Commentaire de BruNews le 04/11/2004 23:46:01 administrateur CS

y a un lien sous le logo de l'interlocuteur pour envoyer un message prive.

Commentaire de Arnaud16022 le 10/11/2004 16:39:57

hoho mon joli skin ;)
bon évidemment personne va voir la différence...

Commentaire de epciel le 05/05/2005 14:33:35

C'est cool
j'ai un probleme lors de la compilation de l'aplication il me demande le fichier dshow.h. tu peut le fournir avec le code source. et merci

Commentaire de algori le 28/06/2005 09:59:13

Terrible ce lecteur mp3.
Maintenant j'utilise celui-là. :)
Mérite amplement 10/10
@++

Commentaire de meech le 08/08/2005 14:14:08

Ca cartonne : 10/10.

Commentaire de Kepench le 18/07/2006 11:22:47

Excelent ce lecteur! 10/10 et un grand merci à toi LiBe444 :)

Commentaire de Neo_Fr le 11/11/2007 21:51:24

Salut,
Moi aussi je suis en train de faire un lecteur mp3 avec DShow, il est quasiment fini, mais j'ai un pb:
Il plante lamentablement quand je release l'interface IGraphBuilder, et je vient de remarquer que le tient plante aussi exactement au meme endroit: 'pDeck->Release();'
avec la fenetre:
l'instruction '...' emploie l'adresse memoire 0x00000008 la mémoire ne peut etre 'read'..

Un bug de DShow?

Neo_Fr

Commentaire de Neo_Fr le 13/11/2007 22:06:01

C bizarre, en enlevant:
pDeck->AddFilter(pbf,NULL); et pDeck->RemoveFilter(pbf);
ca plante plus sur mon pc, ca marche tjrs sur vos pcs si vous enlevez ces 2 lignes??

Neo_Fr

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,309 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales