マイクのミュート状態
Posted: 2017年11月10日(金) 15:06
C言語ないしDXライブラリの関数でマイクがミュート状態か否かを取得できる関数は存在しますか?
調べても音量操作等しかなかったため、ここで質問させていただきました
関数名や使い方、関数の説明がされているサイトをご教示ください
調べても音量操作等しかなかったため、ここで質問させていただきました
関数名や使い方、関数の説明がされているサイトをご教示ください
bool GetMuteFlag() {
HRESULT hr;
HRESULT mute;
BOOL muted = false;
CoInitialize(NULL);
IMMDeviceEnumerator *deviceEnumerator = NULL;
hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, CLSCTX_INPROC_SERVER, __uuidof(IMMDeviceEnumerator), (LPVOID *)&deviceEnumerator);
IMMDevice *defaultDevice = NULL;
//hr = deviceEnumerator->GetDefaultAudioEndpoint(eRender, eConsole, &defaultDevice);
hr = deviceEnumerator->GetDefaultAudioEndpoint(eCapture, eConsole, &defaultDevice);
deviceEnumerator->Release();
deviceEnumerator = NULL;
IAudioEndpointVolume *endpointVolume = NULL;
hr = defaultDevice->Activate(__uuidof(IAudioEndpointVolume), CLSCTX_INPROC_SERVER, NULL, (LPVOID *)&endpointVolume);
mute = endpointVolume->GetMute(&muted);
//endpointVolume->SetMute(TRUE, NULL);
endpointVolume->Release();
CoUninitialize();
return muted;
}
//マイクのミュートフラグを取得する
bool GetMuteFlag() {
HRESULT hr;
HRESULT mute;
BOOL muted = false;
CoInitialize(NULL);
IMMDeviceEnumerator *deviceEnumerator = NULL;
hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL, CLSCTX_INPROC_SERVER, __uuidof(IMMDeviceEnumerator), (LPVOID *)&deviceEnumerator);
IMMDevice *defaultDevice = NULL;
//hr = deviceEnumerator->GetDefaultAudioEndpoint(eRender, eConsole, &defaultDevice);
hr = deviceEnumerator->GetDefaultAudioEndpoint(eCapture, eConsole, &defaultDevice);
deviceEnumerator->Release();
deviceEnumerator = NULL;
IAudioEndpointVolume *endpointVolume = NULL;
hr = defaultDevice->Activate(__uuidof(IAudioEndpointVolume), CLSCTX_INPROC_SERVER, NULL, (LPVOID *)&endpointVolume);
mute = endpointVolume->GetMute(&muted);
//endpointVolume->SetMute(TRUE, NULL);
endpointVolume->Release();
CoUninitialize();
return muted;
}