Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.42 KB | None | 0 0
  1. #include <objbase.h>
  2. #include <mmdeviceapi.h>
  3. #include <audiopolicy.h>
  4.  
  5. IAudioSessionManager2 *GetSessionManager()
  6. {  
  7.     IAudioSessionManager2* manager = NULL;
  8.     IMMDeviceEnumerator* devenum = NULL;
  9.     if (CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, CLSCTX_ALL,
  10.         __uuidof(IMMDeviceEnumerator), (void**)&devenum) == S_OK) {
  11.         IMMDevice* device = NULL;
  12.         if (devenum->GetDefaultAudioEndpoint(eRender, eConsole, &device) == S_OK) {
  13.             device->Activate(__uuidof(IAudioSessionManager2), CLSCTX_ALL, NULL, (void**)&manager);
  14.             device->Release();
  15.         }
  16.         devenum->Release();
  17.     }  
  18.     return manager;
  19. }
  20.  
  21.  
  22. int _tmain(int argc, _TCHAR* argv[])
  23. {
  24.     CoInitializeEx(NULL, COINIT_MULTITHREADED);
  25.  
  26.     IAudioSessionManager2* manager = GetSessionManager();
  27.     if (manager != NULL) {
  28.         IAudioSessionEnumerator *sessions;
  29.         if (manager->GetSessionEnumerator(&sessions) == S_OK) {
  30.             int s_count;
  31.             sessions->GetCount(&s_count);
  32.             for (int i = 0; i < s_count; i++) {
  33.                 IAudioSessionControl *current;
  34.                 if (sessions->GetSession(i, &current) == S_OK) {
  35.                     ISimpleAudioVolume *vol = NULL;
  36.                     current->QueryInterface(__uuidof(ISimpleAudioVolume), (void**)&vol);
  37.                     if (vol != NULL) {
  38.                         vol->SetMasterVolume(0.0f, NULL);
  39.                         vol->Release();
  40.                     }
  41.                     current->Release();
  42.                 }
  43.             }
  44.             sessions->Release();
  45.         }
  46.         manager->Release();
  47.     }
  48.  
  49.     CoUninitialize();
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement