Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1761 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Questions sur DirectMusic

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Questions sur DirectMusic

n°402686
Alkor2001
Posté le 21-05-2003 à 14:03:28  profilanswer
 

Bonjour à tous!
 
J'ai fini de coder un lecteur MIDI et WAVE basique qui possède une fonction "browse" et permet de lancer ou stopper la lecture du fichier.
 
Je souhaiterais en plus ajouter des fonctions pour gérer le volume, la mise en pause et afficher le temps complet du morceau...
 
Je passe par les interfaces suivantes:

Citation :

IDirectMusicLoader8*      g_pLoader         = NULL;
IDirectMusicPerformance8* g_pPerformance    = NULL;
IDirectMusicSegment8*     g_pSegment        = NULL;


 
Avec celles-ci, je ne trouve aucune fonction gérant le volume ou une mise en pause, et je ne comprends rien aux nombreuses fonctions concernant des temps.
 
La msdn ne m'est d'aucune aide à ce sujet, et les tutoriaux que j'ai trouvés sur le net traitant de ce sujet ne passent pas par les mêmes interfaces que moi...
 
Y a-t-il un moyen de m'en sortir ou dois-je tout recommencer d'une autre façon?


Message édité par Alkor2001 le 21-05-2003 à 14:28:43

---------------
J'aime pas Apple...
mood
Publicité
Posté le 21-05-2003 à 14:03:28  profilanswer
 

n°403216
Alkor2001
Posté le 21-05-2003 à 16:56:50  profilanswer
 

Personne ne sait??  :??:


---------------
J'aime pas Apple...
n°403253
Konar
Posté le 21-05-2003 à 17:12:06  profilanswer
 

Alkor2001 a écrit :

Personne ne sait??  :??:  


 
T'as downloadé le sdk ? dois bien y avoir un exemple avec un player ou on peut faire ce ke tu veux...
 
pour DirectMusic chais pas, mais pour DirectShow dans le sdk y avait bien des exemples de tout ca. (dans le SDK DX9 en tout cas)

n°403300
VisualC++
J'va y penser ...
Posté le 21-05-2003 à 17:43:14  profilanswer
 
n°403487
Alkor2001
Posté le 21-05-2003 à 21:11:31  profilanswer
 

Konar --> Merci j'ai déjà regardé les exemples et je n'ai rien trouvé d'intéressant pour moi...
 
VisualC++ --> Merci je regarde! De toute façon pour le volume je pensais au pire le gérer directement en touchant au volume de Windows (il doit bien y avoir une fonctione le permettant)
Mon problème était principalement lié à la pause et à l'affichage du temps...
 
 :hello:  


---------------
J'aime pas Apple...
n°403535
Konar
Posté le 21-05-2003 à 21:53:12  profilanswer
 

Alkor2001 a écrit :

Konar --> Merci j'ai déjà regardé les exemples et je n'ai rien trouvé d'intéressant pour moi...
 


 
bah putain... en 15 secondes, sans installer le sdk dx9, juste en le dezippant, on peut trouver dans Samples\C++\DirectMusic\PlayAudio un proj ki ouvre et lit un fichier, avec un Slider pour ajuster le volume, et un bouton 'stop'.
 
.

n°403537
Alkor2001
Posté le 21-05-2003 à 22:01:35  profilanswer
 

Konar a écrit :


 
bah putain... en 15 secondes, sans installer le sdk dx9, juste en le dezippant, on peut trouver dans Samples\C++\DirectMusic\PlayAudio un proj ki ouvre et lit un fichier, avec un Slider pour ajuster le volume, et un bouton 'stop'.
 
.


 
En effet j'ai vu ça...
Mais comme je l'ai dit, je n'ai pas recherché grand chose sur le réglage du volume qui de toute façon ne me semblait pas infaisable, mais plutot sur la mise en pause, l'affichage du temps et d'autres idées (dont une barre d'avancement, mais là j'ai laissé tomber)
 
En plus je n'avais pas compris ce passage du code, n'ayant rien capté aux Audiopath (j'avais fait un test, mais je n'avais pas pensé à rajouter l'Audiopath à la fin du PlaySegment)


---------------
J'aime pas Apple...
n°405050
Alkor2001
Posté le 22-05-2003 à 21:17:34  profilanswer
 

:bounce:  
 
J'aimerais vraiment réussir à intégrer une fonction "Pause" à l'ensemble...
Je suis sans doute passé à côté de la plaque, mais je n'ai rien trouvé permettant de mettre en pause le morceau que je lis (ni en arrêtant le segment, ni en bloquant l'audiopath)...
 
Et pourtant j'en ai trouvé des tutoriaux, et j'ai épluché toutes les interfaces de DirectMusic...
 
 :??:  :??:  :??:


---------------
J'aime pas Apple...
n°405101
VisualC++
J'va y penser ...
Posté le 22-05-2003 à 21:59:12  profilanswer
 

Euh faudrait quand mm lire un peu plus les docs
 
Pour la position (que ce soit recup ou les positionner)

Code :
  1. IDirectSoundBuffer8::GetCurrentPosition
  2. IDirectSoundBuffer8::SetCurrentPosition


 
Pour la pause


You can also stop it prematurely by using IDirectSoundBuffer8::Stop. When you stop a buffer prematurely, the play cursor position remains where it is. Hence the call to IDirectSoundBuffer8::SetCurrentPosition in the example, which ensures that the buffer starts from the beginning.

n°405106
Alkor2001
Posté le 22-05-2003 à 22:06:38  profilanswer
 

VisualC++ a écrit :

Euh faudrait quand mm lire un peu plus les docs


 
C'est ce que je fais... J'apprends énormément de choses, et je passe à côté d'encore plus de trucs importants...
(avant de me lancer dans ma tentative de lecteur midi/wave je n'avais jamais touché aux MFC ou à la programmation Directx)
 
En tout cas merci pour ton aide, je vais regarder ça.


---------------
J'aime pas Apple...
mood
Publicité
Posté le 22-05-2003 à 22:06:38  profilanswer
 

n°405121
Alkor2001
Posté le 22-05-2003 à 22:18:59  profilanswer
 

Je suis en train de regarder, passer par cette interface implique que je recommence tout à zéro, non? Mon fichier sonore est lu par l'intermédiaire de l'interface IDirectMusicPerformance8, alors que pour utiliser IDirectSoundBuffer8 je dois utiliser sa propre fonction play ainsi que les autres...
 
Je me suis planté en choisissant dès le début de passer par DirectMusic plutot que par DirectSound?   :??:


---------------
J'aime pas Apple...
n°405143
VisualC++
J'va y penser ...
Posté le 22-05-2003 à 22:34:15  profilanswer
 

Euh la peut pas te dire me suis jamais interesse a DMusic, desole.

n°405374
Alkor2001
Posté le 23-05-2003 à 08:22:13  profilanswer
 

C'est pas grave, merci quand même pour ton aide!   :hello:  
 
(je vais tester un peu DirectSound pour voir si ça rend mieux que ce que j'ai fait)


---------------
J'aime pas Apple...
n°406348
Alkor2001
Posté le 23-05-2003 à 17:07:35  profilanswer
 

Bon pour la pause j'ai trouvé une solution temporaire quelque peu spéciale: je mets le tempo à la valeur minimale (0.01), et c'est presque en pause!!!  :pt1cable:  
 
Bon je sais c'est nul, mais je ne le sens pas de tout repasser en DirectSound, trop de boulot...


---------------
J'aime pas Apple...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Questions sur DirectMusic

 

Sujets relatifs
[html/php/css/...]Questions relatives à la construction de mon site[PDF]{Important} Quelques questions sur PDF+PHP et PDF+HTML
2 questions : extraire un composant et position d'une scrollbar[JAVA]Plein de questions de débutant
qq questions a propos de mysqlNewbie : 2 questions (structures et getch() ) : Merci :)
Questions sur les fichiers ....[PHP] Questions pour cookies
questions php/mysql :pmysql : quelques questions
Plus de sujets relatifs à : Questions sur DirectMusic


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR