Bonjour,
J'ai un projet de type Visual C++ ou on joue des vidéos.
J'aimerais savoir comment contrôler les haut parleurs:
Ex.
couper le son
couper le son dans le haut-parleur droit ou gauche
etc.
D'avance merci pur vos suggestions.
Gelu
Version imprimable
Bonjour,
J'ai un projet de type Visual C++ ou on joue des vidéos.
J'aimerais savoir comment contrôler les haut parleurs:
Ex.
couper le son
couper le son dans le haut-parleur droit ou gauche
etc.
D'avance merci pur vos suggestions.
Gelu
Ça ne fait pas partie du langage proprement dit. En outre, cela dépend beaucoup
- du matériel que tu exploites (un PC ?) ;
- du système d'exploitation que tu utilises pour le faire (Windows ? Linux ? autre ?) ;
- de l'équipement de ta machine (carte son ?) ;
Il faut que tu choisisses une bibliothèque et son API (DirectSound, SDL Audio), conçues pour te proposer une interface universelle qui soit utilisable quelle que soit la configuration sur laquelle ton programme va fonctionner.
Bonjour,
J'ai trouvé ça sur le net (je n'ai pas testé) :
Basé sur waveOutSetVolumeCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 #pragma comment(lib, "winmm.lib") #include <windows.h> #include <mmsystem.h> BOOL ChangeVolumeAndBalance(int nVolume, int nBalance) // By Napalm @ NetCore2K { if(nVolume < 0) nVolume = 0; if(nVolume > 255) nVolume = 255; if(nBalance < -128) nBalance = -128; if(nBalance > 128) nBalance = 128; WAVEOUTCAPS woCaps; if(waveOutGetDevCaps(WAVE_MAPPER, &woCaps, sizeof(woCaps)) == MMSYSERR_NOERROR){ DWORD dwVolume; if((woCaps.dwSupport & WAVECAPS_LRVOLUME) != 0){ dwVolume = (nVolume * 0xFFFF) / 255; DWORD dwLeft = dwVolume, dwRight = dwVolume; if(nBalance > 0) dwLeft -= ((nBalance * dwVolume) / 128); else if(nBalance < 0) dwRight -= ((-nBalance * dwVolume) / 128); dwVolume = MAKELPARAM(dwLeft, dwRight); }else{ dwVolume = MAKELPARAM(nVolume, nVolume); } waveOutSetVolume(WAVE_MAPPER, dwVolume); return TRUE; } return FALSE; }
[EDIT]: 100% Windows bien sûr...