Juste un Son Un Tout Petit Son !!!

Juste un Son Un Tout Petit Son !!! - C++ - Programmation

Marsh Posté le 23-06-2009 à 08:57:13    

Bon(jour/soir) a Tous Je Dois Dire Que Je suis Sur Le Bord du desespoir ....
Quelqu"un pourrais Me faire Un Raise Up Juste en Me Disant Ou et Comment Emettre un Simple Son  avec En Paramettre Duree, Frenquence, Volume ....Pas De Lecture de wav de mp3 Ou Tous autres truc tordu du genre.... Juste Un Son (a et PAs De Beep Je Pense Pas Que Mon Portable est de Buzeur)  
Je Script Sous Dev-cpp J"ai Les Librairie SDL et FMOD  Mais a date J"ai rien Trouver Qui Me Permette ca Sauf des Trucs Obscures et Sterilles !!!
[#ff7100] !Des Avis Ou Une Courte Fonction Miracle ...???

Reply

Marsh Posté le 23-06-2009 à 08:57:13   

Reply

Marsh Posté le 23-06-2009 à 09:49:24    

MessageBeep() est le plus simple, mais ne permet pas des variations de durée, fréquence, volume.
 
PlaySound() est l'API suivante la plus utilisée, mais elle nécessite l'emploi de son wav préenregistrés.
 
Le reste est compliqué. Voici la liste que vous trouverez dans votre ficher Dev-Cpp\include\mmsystem.h :

Code :
  1. UINT WINAPI waveOutGetNumDevs(void);
  2. MMRESULT WINAPI waveOutGetDevCapsA(UINT,LPWAVEOUTCAPSA,UINT);
  3. MMRESULT WINAPI waveOutGetDevCapsW(UINT,LPWAVEOUTCAPSW,UINT);
  4. MMRESULT WINAPI waveOutGetVolume(HWAVEOUT,PDWORD);
  5. MMRESULT WINAPI waveOutSetVolume(HWAVEOUT,DWORD);
  6. MMRESULT WINAPI waveOutGetErrorTextA(MMRESULT,LPSTR,UINT);
  7. MMRESULT WINAPI waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
  8. MMRESULT WINAPI waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
  9. MMRESULT WINAPI waveOutClose(HWAVEOUT);
  10. MMRESULT WINAPI waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
  11. MMRESULT WINAPI waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
  12. MMRESULT WINAPI waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT);
  13. MMRESULT WINAPI waveOutPause(HWAVEOUT);
  14. MMRESULT WINAPI waveOutRestart(HWAVEOUT);
  15. MMRESULT WINAPI waveOutReset(HWAVEOUT);
  16. MMRESULT WINAPI waveOutBreakLoop(HWAVEOUT);
  17. MMRESULT WINAPI waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT);
  18. MMRESULT WINAPI waveOutGetPitch(HWAVEOUT,PDWORD);
  19. MMRESULT WINAPI waveOutSetPitch(HWAVEOUT,DWORD);
  20. MMRESULT WINAPI waveOutGetPlaybackRate(HWAVEOUT,PDWORD);
  21. MMRESULT WINAPI waveOutSetPlaybackRate(HWAVEOUT,DWORD);
  22. MMRESULT WINAPI waveOutGetID(HWAVEOUT,LPUINT);
  23. MMRESULT WINAPI waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD);
  24. UINT WINAPI waveInGetNumDevs(void);
  25. MMRESULT WINAPI waveInGetDevCapsA(UINT,LPWAVEINCAPSA,UINT);
  26. MMRESULT WINAPI waveInGetDevCapsW(UINT,LPWAVEINCAPSW,UINT);
  27. MMRESULT WINAPI waveInGetErrorTextA(MMRESULT,LPSTR,UINT);
  28. MMRESULT WINAPI waveInGetErrorTextW(MMRESULT,LPWSTR,UINT);
  29. MMRESULT WINAPI waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD,DWORD,DWORD);
  30. MMRESULT WINAPI waveInClose(HWAVEIN);
  31. MMRESULT WINAPI waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT);
  32. MMRESULT WINAPI waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT);
  33. MMRESULT WINAPI waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT);
  34. MMRESULT WINAPI waveInStart(HWAVEIN);
  35. MMRESULT WINAPI waveInStop(HWAVEIN);
  36. MMRESULT WINAPI waveInReset(HWAVEIN);
  37. MMRESULT WINAPI waveInGetPosition(HWAVEIN,LPMMTIME,UINT);
  38. MMRESULT WINAPI waveInGetID(HWAVEIN,LPUINT);
  39. MMRESULT WINAPI waveInMessage(HWAVEIN,UINT,DWORD,DWORD);
  40. UINT WINAPI midiOutGetNumDevs(void);
  41. MMRESULT WINAPI midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD,DWORD,DWORD);
  42. MMRESULT WINAPI midiStreamClose(HMIDISTRM);
  43. MMRESULT WINAPI midiStreamProperty(HMIDISTRM,LPBYTE,DWORD);
  44. MMRESULT WINAPI midiStreamPosition(HMIDISTRM,LPMMTIME,UINT);
  45. MMRESULT WINAPI midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT);
  46. MMRESULT WINAPI midiStreamPause(HMIDISTRM);
  47. MMRESULT WINAPI midiStreamRestart(HMIDISTRM);
  48. MMRESULT WINAPI midiStreamStop(HMIDISTRM);
  49. MMRESULT WINAPI midiConnect(HMIDI,HMIDIOUT,PVOID);
  50. MMRESULT WINAPI midiDisconnect(HMIDI,HMIDIOUT,PVOID);
  51. MMRESULT WINAPI midiOutGetDevCapsA(UINT,LPMIDIOUTCAPSA,UINT);
  52. MMRESULT WINAPI midiOutGetDevCapsW(UINT,LPMIDIOUTCAPSW,UINT);
  53. MMRESULT WINAPI midiOutGetVolume(HMIDIOUT,PDWORD);
  54. MMRESULT WINAPI midiOutSetVolume(HMIDIOUT,DWORD);
  55. MMRESULT WINAPI midiOutGetErrorTextA(MMRESULT,LPSTR,UINT);
  56. MMRESULT WINAPI midiOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
  57. MMRESULT WINAPI midiOutOpen(LPHMIDIOUT,UINT,DWORD,DWORD,DWORD);
  58. MMRESULT WINAPI midiOutClose(HMIDIOUT);
  59. MMRESULT WINAPI midiOutPrepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
  60. MMRESULT WINAPI midiOutUnprepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
  61. MMRESULT WINAPI midiOutShortMsg(HMIDIOUT,DWORD);
  62. MMRESULT WINAPI midiOutLongMsg(HMIDIOUT,LPMIDIHDR,UINT);
  63. MMRESULT WINAPI midiOutReset(HMIDIOUT);
  64. MMRESULT WINAPI midiOutCachePatches(HMIDIOUT,UINT,LPWORD,UINT);
  65. MMRESULT WINAPI midiOutCacheDrumPatches(HMIDIOUT,UINT,LPWORD,UINT);
  66. MMRESULT WINAPI midiOutGetID(HMIDIOUT,LPUINT);
  67. MMRESULT WINAPI midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD);
  68. UINT WINAPI midiInGetNumDevs(void);
  69. MMRESULT WINAPI midiInGetDevCapsA(UINT,LPMIDIINCAPSA,UINT);
  70. MMRESULT WINAPI midiInGetDevCapsW(UINT,LPMIDIINCAPSW,UINT);
  71. MMRESULT WINAPI midiInGetErrorTextA(MMRESULT,LPSTR,UINT);
  72. MMRESULT WINAPI midiInGetErrorTextW(MMRESULT,LPWSTR,UINT);
  73. MMRESULT WINAPI midiInOpen(LPHMIDIIN,UINT,DWORD,DWORD,DWORD);
  74. MMRESULT WINAPI midiInClose(HMIDIIN);
  75. MMRESULT WINAPI midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT);
  76. MMRESULT WINAPI midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT);
  77. MMRESULT WINAPI midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT);
  78. MMRESULT WINAPI midiInStart(HMIDIIN);
  79. MMRESULT WINAPI midiInStop(HMIDIIN);
  80. MMRESULT WINAPI midiInReset(HMIDIIN);
  81. MMRESULT WINAPI midiInGetID(HMIDIIN,LPUINT);
  82. MMRESULT WINAPI midiInMessage(HMIDIIN,UINT,DWORD,DWORD);
  83. UINT WINAPI auxGetNumDevs(void);
  84. MMRESULT WINAPI auxGetDevCapsA(UINT,LPAUXCAPSA,UINT);
  85. MMRESULT WINAPI auxGetDevCapsW(UINT,LPAUXCAPSW,UINT);
  86. MMRESULT WINAPI auxSetVolume(UINT,DWORD);
  87. MMRESULT WINAPI auxGetVolume(UINT,PDWORD);
  88. MMRESULT WINAPI auxOutMessage(UINT,UINT,DWORD,DWORD);
  89. UINT WINAPI mixerGetNumDevs(void);
  90. MMRESULT WINAPI mixerGetDevCapsA(UINT,LPMIXERCAPSA,UINT);
  91. MMRESULT WINAPI mixerGetDevCapsW(UINT,LPMIXERCAPSW,UINT);
  92. MMRESULT WINAPI mixerOpen(LPHMIXER,UINT,DWORD,DWORD,DWORD);
  93. MMRESULT WINAPI mixerClose(HMIXER);
  94. DWORD WINAPI mixerMessage(HMIXER,UINT,DWORD,DWORD);
  95. MMRESULT WINAPI mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD);
  96. MMRESULT WINAPI mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD);
  97. MMRESULT WINAPI mixerGetID(HMIXEROBJ,PUINT,DWORD);
  98. MMRESULT WINAPI mixerGetLineControlsA(HMIXEROBJ,LPMIXERLINECONTROLSA,DWORD);
  99. MMRESULT WINAPI mixerGetLineControlsW(HMIXEROBJ,LPMIXERLINECONTROLSW,DWORD);
  100. MMRESULT WINAPI mixerGetControlDetailsA(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
  101. MMRESULT WINAPI mixerGetControlDetailsW(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
  102. MMRESULT WINAPI mixerSetControlDetails(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);

Bon courage, et tenez nous au courant.

Reply

Marsh Posté le 23-06-2009 à 19:35:30    

Salut
 
Perso je pense plutôt que c'est le fait de mettre des majuscules et des fautes partout qui est obscur et stérile...
J'ai fait quelques petites choses avec FMOD (avant FMODex) et aussi la SDL. Je me souviens que j'avais trouvé cela plutôt simple et bien documenté.
A mon avis pour générer un simple son, tu devrais remplir un buffer avec une sinusoïde en fonction de ta fréquence ton amplitude et ta fréquence d'échantillonage. Ensuite tu dois pouvoir lire ce son avec FMOD comme un fichier wav. Je dis peut être des conneries mais comme le wav est non compressé je pense qu'il contient directement les données du signal, c'est à dire ton buffer.


---------------
deluser --remove-home ptitchep
Reply

Marsh Posté le 23-06-2009 à 23:40:20    

Si c'est sous Windows: Beep si c'est pour faire un son sur le haut parleur du PC (celui qui fait des beeps au boot)
Le volume n'est pas réglable sur ce device.
(inclure windows.h, la fonction est dans le kernel)
BOOL WINAPI Beep( __in  DWORD dwFreq, __in  DWORD dwDuration);
 
 
http://msdn.microsoft.com/en-us/li [...] S.85).aspx
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed