【求助】mixer控制麦克风音量(win7/win8) 本帖最后由 lihuifeng1 于 2012-10-16 16:37:55 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我建议是看 在win7/8下这些函数有什么变化,或者你动用这些函数是否用了一些默认的值,而在win7/8下,这些值需要明确定义。 从vista开始,Windows音量调节使用endpoint接口。相关说明和代码可在MSDN中找到,进入msdn,搜索endpoint。 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); deviceEnumerator->Release(); deviceEnumerator = NULL; IAudioEndpointVolume *endpointVolume = NULL; hr = defaultDevice->Activate(__uuidof(IAudioEndpointVolume), CLSCTX_INPROC_SERVER, NULL, (LPVOID *)&endpointVolume); defaultDevice->Release(); defaultDevice = NULL;剩下的请自己查询。 上面的代码是调节主音量的,若调节麦克,把eRender改成eCapture 上面的代码是控制扬声器音量的,我把MIXERLINE_COMPONENTTYPE_DST_SPEAKERS换成MIXERLINE_COMPONENTTYPE_DST_WAVEIN或者MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE,为什么不能控制麦克风的音量? 如何将2个安装包制作成一个傻瓜式安装包,(其中一个是googleEarth软件)? 如何从txt读出数据到数组 SQLBindCol()?? 如何固定SDI框架窗口?请指点 关于写代码把打印设置里打印方向默认设为“横向”??? opengl 混合贴图问题 在一个循环中执行某任务,如按S键盘,循环终止。VC中如何这样做? 如何在一个View中显示位图 又一道面试题 VC的全局变量在哪里定义,可以中途删除吗? 对话框透明及半透明问题 USB 打印机 能开钱箱吗?
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);
deviceEnumerator->Release();
deviceEnumerator = NULL; IAudioEndpointVolume *endpointVolume = NULL;
hr = defaultDevice->Activate(__uuidof(IAudioEndpointVolume),
CLSCTX_INPROC_SERVER, NULL, (LPVOID *)&endpointVolume);
defaultDevice->Release();
defaultDevice = NULL;
剩下的请自己查询。