如何以编程方式在Windows,Mac和Ubuntu中设置音量?

我想以编程方式在Windows,Mac和Ubuntu中使用C / C ++设置音量。 命令行也可以,但C / C ++首选。 先谢谢你!

只是一个暗示,在Windows中,围绕音量调整的“哲学”在XP和Vista / 7之间发生了变化。 在XP上更改主音量的代码只会改变Vista和7中调音台的应用程序特定音量设置。

下面是MS音频开发团队关于此的一篇很好的博文: Larry Osterman的博客

以下是一些可能证明有用的代码项目页面:

对于XP

对于Vista +

此外,还有一些关于新的api的幻灯片演示: AMP Summit ppts 。 Windows Vista演示文稿中的音频端点有一些很好的信息。

至于OsX和Ubuntu,我不知道。

对于使用ALSA声音系统的Linux,您可以使用以下命令:

amixer set Master 50% 

这里有一篇关于在Vista中用C / C ++设置主卷的文章(附带代码):

http://blogs.msdn.com/b/larryosterman/archive/2007/03/06/how-do-i-change-the-master-volume-in-windows-vista.aspx

为了完整起见,这里是OSX cli版本:

 osascript -e "set volume output volume (output volume of (get volume settings)+2)" 

而在C方面则更加困难。 从我发现研究这件事的一切中,最简单的方法是使用一个随时可用的客观C答案,并将其包装到一个可以从C / C ++调用的额外对象中的函数中。