windows系统如何用C或者C++实现获取系统的主音量和修改音量大小,只要两个函数即可,不需要窗口
1个回答
展开全部
查MSDN ,使用IAudioEndpointVolume interface 接口,包含两个函数:
GetMasterVolumeLevel :获取系统的主音量
SetChannelVolumeLevel :修改音量大小
GetMasterVolumeLevel :获取系统的主音量
SetChannelVolumeLevel :修改音量大小
追问
谢谢了,我看看,另外问一下有写过的例子吗?
追答
还可以到csdn,codeproject找,下面这段是msdn上的;
HRESULT CoreApi::GetMasterVolId()
{
IMMDeviceEnumerator *pEnumerator
= NULL;
IMMDevice *pDevice = NULL;
HRESULT _hrStatus =
S_OK;
IAudioEndpointVolume *endpointVolume = NULL;
_hrStatus = CoCreateInstance(__uuidof(MMDeviceEnumerator),
NULL,
CLSCTX_INPROC_SERVER,
__uuidof(IMMDeviceEnumerator),
(void**)&pEnumerator);
EXIT_ON_ERROR(_hrStatus)
_hrStatus = pEnumerator->GetDefaultAudioEndpoint(eRender,
eMultimedia,&pDevice);
EXIT_ON_ERROR(_hrStatus)
_hrStatus = pDevice->Activate(__uuidof(IAudioEndpointVolume),
CLSCTX_INPROC_SERVER, NULL, (LPVOID
*)&endpointVolume);
EXIT_ON_ERROR(_hrStatus)
_hrStatus =
pDevice->GetId(&deviceId_out_master);
EXIT_ON_ERROR(_hrStatus)
endpointVolume->Release();
Exit:
SAFE_RELEASE(pEnumerator)
SAFE_RELEASE(pDevice)
return true;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询