Windows Media player

bandifull Messages postés 19 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 11 juillet 2008 - 28 mai 2007 à 12:42
bandifull Messages postés 19 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 11 juillet 2008 - 5 juin 2007 à 20:36
Bonjour à tous,

Voila, je voudrai coder un lecteur multimedia en c++ en utilisant les composant windows media player. J'ai deja trouver une source expliquant clairement comment lire une video : (source de racpp)
Maintenant je voudrais pouvoir gerer le volume, et le temps de lecture (sans afficher celui de WMP, a l'instar de racpp) Est ce possible ?
Je souhaiterai egalement incorporer une play list. J'ai vu sur MSDN que c'etait possible, mais j'ai beaucoup de mal a l'utiliser. Si quelqu'un pouvait m'aider ...
Et dans le meilleur des cas, pouvoir enregistrer cette play list.

Merci d'avance !!

9 réponses

Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
28 mai 2007 à 18:23
Pour changer le volume:
MMRESULT waveOutSetVolume(HWAVEOUT hwo
, DWORD dwVolume);

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_waveoutsetvolume.asp

Neo_Fr
0
bandifull Messages postés 19 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 11 juillet 2008
5 juin 2007 à 17:26
Tu vas surement me prendre pour un boulet, mais je n'arrive pas a comprendre la doc msdn.
En gros, peux tu me donner un exemple de code ou tu implémente un slider qui modifie le temps en win api.
Merci d'avance
0
Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
5 juin 2007 à 19:54
void



SetSoundVolume

(
DWORD dwVolume

)
{

WAVEFORMATEX wf

;

wf

.
wFormatTag

=
WAVE_FORMAT_PCM

;

wf

.
nChannels

=



1
;

wf

.
nSamplesPerSec

=



8000



*



1000
;

wf

.
wBitsPerSample

=



8
;

wf

.
nBlockAlign

=
wf

.
nChannels

*
wf

.
wBitsPerSample

/



8
;

wf

.
nAvgBytesPerSec

=
wf

.
nSamplesPerSec

*
wf

.
nBlockAlign

;

wf

.
cbSize

=



0
;

HWAVEOUT hwo

;

for



(
UINT id

=



0
;
id

<
waveOutGetNumDevs

();
id

++)





{

if



(
waveOutOpen

(&
hwo

,
id

,



&
wf

,



0
,



0
,
CALLBACK_NULL

)




MMSYSERR_NOERROR

)





{

waveOutSetVolume

(
hwo

,
dwVolume

);


waveOutClose

(
hwo

);

break;

}

}
}

Pour dwVolume choisi une valeur entre 0 et 0xFFFF

Neo_Fr
0
bandifull Messages postés 19 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 11 juillet 2008
5 juin 2007 à 20:21
J'ai toujours un soucis :p
symbole externe non résolu __imp__waveOutClose@4 référencé dans la fonction "void __cdecl SetSoundVolume(unsigned long)
symbole externe non résolu __imp__waveOutSetVolume@8 référencé dans la fonction "void __cdecl SetSoundVolume(unsigned long)
symbole externe non résolu __imp__waveOutOpen@24 référencé dans la fonction "void __cdecl SetSoundVolume(unsigned long)
symbole externe non résolu __imp__waveOutGetNumDevs@0 référencé dans la fonction "void __cdecl SetSoundVolume(unsigned long)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bandifull Messages postés 19 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 11 juillet 2008
5 juin 2007 à 20:21
Merci beaucoup pour ta réponse

J'ai toujours un soucis :p
symbole externe non résolu __imp__waveOutClose@4 référencé dans la fonction "void __cdecl SetSoundVolume(unsigned long)
symbole externe non résolu __imp__waveOutSetVolume@8 référencé dans la fonction "void __cdecl SetSoundVolume(unsigned long)
symbole externe non résolu __imp__waveOutOpen@24 référencé dans la fonction "void __cdecl SetSoundVolume(unsigned long)
symbole externe non résolu __imp__waveOutGetNumDevs@0 référencé dans la fonction "void __cdecl SetSoundVolume(unsigned long)
0
Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
5 juin 2007 à 20:23
Met #include<windows.h> tt en haut si tu ne la pas deja mis, et link "Winmm.lib".

Neo_Fr
0
bandifull Messages postés 19 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 11 juillet 2008
5 juin 2007 à 20:27
Merci pour tes réponses rapide. Effectivement je n'ai pas fait un link "Winmm.lib". Ca signifie quoi le link ? et a quoi ca sert ?
0
Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
5 juin 2007 à 20:30
Dans ce cas la ca sert a dire a ton prog que tu va utiliser des fonctions contenu dans la dll winmm, pour linker la lib il te suffit de lajouter dans les options du linker de ton IDE.
Neo_Fr
0
bandifull Messages postés 19 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 11 juillet 2008
5 juin 2007 à 20:36
Je suis sous visual studio, et j'ai vraiment beaucoup de mal ^^
0