当前位置: 首页 > news >正文

最新网站建设海外黄冈网站推广

最新网站建设,海外黄冈网站推广,郑州市建委,晋江wap站是什么意思VC常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/124272585C软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...&a…

VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/124272585C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/125529931        本文讲述如何将某个进程的声音(扬声器)打开或关闭掉,这个功能在某些场合下可能会用到,在此给大家做个分享。

1、在系统设置页面中将进程的扬声器打开或关闭

        以Win10系统为例,在系统桌面的右下角托盘图标区域中找到系统音量图标,右键点击该图标,弹出如下的右键菜单:

点击“打开音量合成器”菜单项,打开使用扬声器的进程列表页面,如下所示:

以操作企业微信进程为例,点击下面的声音图标,即可将企业微信进程的扬声器关闭或打开。如果将企业微信进程的扬声器关闭,则听不到企业微信进程的所有声音。

2、通过代码实现进程扬声器打开或关闭

        Windows系统支持以COM组件的方式访问系统中的音视频设备,我们可以先获取所有的音频播放设备,然后遍历设备下对应的进程列表,然后通过进程id去遍历进程列表,找到目标进程后,对进程的扬声器进行关闭和打开操作。

         以开关本进程的扬声器为例,完整的实现代码如下:

BOOL SetCurrentSpeakerMute(BOOL bQuiet)
{HRESULT hr = S_OK;IMMDeviceCollection *pMultiDevice = NULL;IMMDevice *pDevice = NULL;IAudioSessionEnumerator *pSessionEnum = NULL;IAudioSessionManager2 *pASManager = NULL;IMMDeviceEnumerator *pEnumerator = NULL;const IID IID_ISimpleAudioVolume = __uuidof(ISimpleAudioVolume);const IID IID_IAudioSessionControl2 = __uuidof(IAudioSessionControl2);CoInitialize(NULL);// Get enumerator for audio endpoint devices.hr = CoCreateInstance(__uuidof(MMDeviceEnumerator),NULL, CLSCTX_ALL,__uuidof(IMMDeviceEnumerator),(void**)&pEnumerator);if (FAILED(hr))return FALSE;// 1、获取音频播放设备hr = pEnumerator->EnumAudioEndpoints(eRender, DEVICE_STATE_ACTIVE, &pMultiDevice);if (FAILED(hr))return FALSE;UINT deviceCount = 0;hr = pMultiDevice->GetCount(&deviceCount);if (FAILED(hr))return FALSE;// 2、遍历音频播放设备for (UINT ii = 0; ii < deviceCount; ii++){pDevice = NULL;hr = pMultiDevice->Item(ii, &pDevice);if (FAILED(hr))return FALSE;hr = pDevice->Activate(__uuidof(IAudioSessionManager), CLSCTX_ALL, NULL, (void**)&pASManager);if (FAILED(hr))return FALSE;hr = pASManager->GetSessionEnumerator(&pSessionEnum);if (FAILED(hr))return FALSE;int nCount;hr = pSessionEnum->GetCount(&nCount);for (int i = 0; i < nCount; i++){IAudioSessionControl *pSessionCtrl;hr = pSessionEnum->GetSession(i, &pSessionCtrl);if (FAILED(hr))continue;// 3、获取音频播放控制对象IAudioSessionControl2 *pSessionCtrl2;hr = pSessionCtrl->QueryInterface(IID_IAudioSessionControl2, (void **)&pSessionCtrl2);if (FAILED(hr))continue;ULONG pid;hr = pSessionCtrl2->GetProcessId(&pid);if (FAILED(hr))continue;ISimpleAudioVolume *pSimplevol;hr = pSessionCtrl2->QueryInterface(IID_ISimpleAudioVolume, (void **)&pSimplevol);if (FAILED(hr))continue;// 4、对比获取音频播放控制对象的进程id,判断是不是本进程的if (pid == GetCurrentProcessId()){// 将目标进程静音pSimplevol->SetMute(bQuiet, &GUID_NULL);}if (pSimplevol != NULL){pSimplevol->Release();}if (pSessionCtrl2 != NULL){pSessionCtrl2->Release();}if (pSessionCtrl != NULL){pSessionCtrl->Release();}}}if (pSessionEnum != NULL) pSessionEnum->Release();if (pASManager != NULL) pASManager->Release();if (pDevice != NULL) pDevice->Release();if (pMultiDevice != NULL) pMultiDevice->Release();if (pEnumerator != NULL) pEnumerator->Release();CoUninitialize();return TRUE;
}
http://www.shuangfujiaoyu.com/news/2483.html

相关文章:

  • 在线购物网站模板东莞网站定制开发
  • 深圳企业网站建设制作网络公司网站建设开发
  • 品牌管理公司网站建设科技网站建设公司
  • 网站商城建设方案网站设计案例
  • 企业做网站方案湖南关键词优化品牌价格
  • ai做网站营销推广网
  • 织梦后台搭建网站并调用标签建设厦门seo关键词优化代运营
  • 黄山网站网站建设广告软文
  • 做电商的步骤优化疫情政策
  • 网站定制怎么选择百度一下百度搜索百度一下
  • 使用dw如何给网站做电影搜索引擎yandex入口
  • 钦州网站建设太原百度推广开户
  • 中国人民解放军空军seo优化技术招聘
  • 乌鲁木齐网站建设5118和百度指数
  • 免费网站创建工具西安关键词推广
  • 网站建设的两个方面百度 seo优化作用
  • 建设工程施工承包合同班级优化大师免费下载
  • 全国做网站找哪家好内容营销
  • 铁岭网站制作seo网站关键词排名快速
  • 淘宝seo什么意思搜索引擎优化的主题
  • 网站建设 技术可行性推广软件排行榜前十名
  • 建设执业资格注册中心网站营销策略是什么
  • 门户网站开发视频百度sem优化师
  • 工业设计的就业前景和就业方向兰州模板网站seo价格
  • 网站开发专业的领军人物浙江网站建设营销
  • 上海代理注册公司快速优化排名公司推荐
  • 旅游网站怎么做才能被关注搜索引擎优化怎么做
  • 手机上的软件网站建设焦作关键词优化排名
  • 做垂直网站百度竞价被点击软件盯上
  • 企业网站建设是什么班级优化大师