2012-02-06 2 views
2

Quelle est l'API utilisée pour savoir si le volume est muet ou non dans l'environnement Pocket PC 2003 en utilisant C++?Quelle est l'API utilisée pour connaître l'état du volume dans l'environnement pocket pc 2003 en utilisant C++?

Pour régler le volume, j'ai utilisé l'API suivante: -

waveOutSetVolume(0,volume[volumeStatus.volume]); 

Et pour obtenir le volume, je l'ai utilisé l'API suivante: -

waveOutGetVolume(0, (LPDWORD)&volume); 

S'il vous plaît laissez-moi savoir quelle est la API pour définir et obtenir le statut Mute?

+0

Quelqu'un pourrait-il me dire s'il vous plaît que ce qui est le api utilisé pour ce qui précède? – Abhineet

+0

Obtenez le volume et vérifiez si c'est zéro? –

+0

Dans l'environnement Pocket PC 2003, les concepts MIXERLINE pour obtenir et définir l'état de silence ne fonctionnent pas. De plus, je ne suis pas en mesure de régler et d'obtenir le niveau de volume en utilisant les concepts MIXERLINE. Donc j'utilise waveoutgetvolume & waveoutsetvolume api dans l'environnement pocketpc 2003. – Abhineet

Répondre

0

J'ai obtenu la solution pour ce qui précède:

méthode pour obtenir le statut Mute:

void vGetMuteStatus(){ 
    LONG lReturn; 
     HKEY hkey; 
     DWORD dwLen, dwMode;  
     lReturn = RegOpenKeyEx(HKEY_CURRENT_USER, 
        L"ControlPanel\\Notifications\\ShellOverrides", 
        0,KEY_QUERY_VALUE|KEY_READ,&hkey);  
     if (lReturn == ERROR_SUCCESS) {  
      dwLen = sizeof(DWORD);  
      lReturn = RegQueryValueEx(hkey,L"Mode", NULL, NULL, 
           (LPBYTE)&dwMode, &dwLen);  
      RegCloseKey(hkey);  
     } 
     if(dwMode == 2) 
      MSGBOX(NULL,L"Volume",L"Volume is Mute",MB_OK); 
     else 
      MSGBOX(NULL,L"Volume",L"Volume is not Mute",MB_OK); 
} 
Questions connexes