您的当前位置:首页正文

Win7系统下C++实现客户端程序单独静音功能

来源:华佗健康网

  本文主要是作为学习笔记而编写的,同时也希望能帮助需要的人!!

  实现这个功能是为了解决公司浏览器中Win7下不能静音的BUG。搜索了很多网页,都没有找到这方面的实现!但我心里很清楚,一定是有方法解决这个问题的。所以,在心情还算良好的情况下,静下心来查看MSDN的英文介绍,果然让我找到了这个!——Win7系统以后才有的。而该库的相关中文介绍,可以参考以下文章:

1. 

2.

  通过看上面的文章,虽然能够实现设备音量的控制,但貌似还是木有针对一个程序来控制其静音,所以,只能靠MSDN帮忙了!

  要实现客户端程序真正的单独静音,我们必须考虑以下两点:

  1. 从客户端程序设置单独静音

  提到客户端程序音量控制,首先就需要获取程序IAudioSessionManager会话(Session)。然后再通过调用会话对应的ISimpleAudioVolume中的SetMute函数,就可以设置客户端程序是否静音了。整个代码都先给出:

  在TxMuted.h文件中的代码:

  在TxMuted.cpp中的代码

  2.不允许用户从系统合成器中改变程序静音状态

   对于这个功能,就得涉及到IAudioSessionEvents接口啦!主要是参考MSDN上的做的。废话不多说,直接贴代码了! 

   在MutedSessionEvents.h文件中的代码

  在MutedSessionEvents.cpp文件中的代码

  好啦!以上代码为本人亲测后的代码,可以使用的!如果有什么问题,欢迎来指出~~ 请勿拍砖!!

转载于:https://www.cnblogs.com/lmqweeds/archive/2012/10/09/2717069.html

因篇幅问题不能全部显示,请点此查看更多更全内容