Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <objbase.h>
- #include <mmdeviceapi.h>
- #include <audiopolicy.h>
- IAudioSessionManager2 *GetSessionManager()
- {
- IAudioSessionManager2* manager = NULL;
- IMMDeviceEnumerator* devenum = NULL;
- if (CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, CLSCTX_ALL,
- __uuidof(IMMDeviceEnumerator), (void**)&devenum) == S_OK) {
- IMMDevice* device = NULL;
- if (devenum->GetDefaultAudioEndpoint(eRender, eConsole, &device) == S_OK) {
- device->Activate(__uuidof(IAudioSessionManager2), CLSCTX_ALL, NULL, (void**)&manager);
- device->Release();
- }
- devenum->Release();
- }
- return manager;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- CoInitializeEx(NULL, COINIT_MULTITHREADED);
- IAudioSessionManager2* manager = GetSessionManager();
- if (manager != NULL) {
- IAudioSessionEnumerator *sessions;
- if (manager->GetSessionEnumerator(&sessions) == S_OK) {
- int s_count;
- sessions->GetCount(&s_count);
- for (int i = 0; i < s_count; i++) {
- IAudioSessionControl *current;
- if (sessions->GetSession(i, ¤t) == S_OK) {
- ISimpleAudioVolume *vol = NULL;
- current->QueryInterface(__uuidof(ISimpleAudioVolume), (void**)&vol);
- if (vol != NULL) {
- vol->SetMasterVolume(0.0f, NULL);
- vol->Release();
- }
- current->Release();
- }
- }
- sessions->Release();
- }
- manager->Release();
- }
- CoUninitialize();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement