windows系统如何用C或者C++实现获取系统的主音量和修改音量大小,只要两个函数即可,不需要窗口

 我来答
oowood
2014-11-20 · TA获得超过1781个赞
知道大有可为答主
回答量:2196
采纳率:81%
帮助的人:1238万
展开全部
查MSDN ,使用IAudioEndpointVolume interface 接口,包含两个函数:
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;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式