Python:更改 Windows 7 主音量

Sal*_*n V 5 python windows audio

我希望能够在 Python 中控制主音量(不是针对应用程序,而是针对当前活跃的演讲者)。这似乎是一个棘手的话题;我尝试在 C# 中做它,但我什至无法让它在那里工作。有没有办法做到这一点?(Windows 7 x64)

请注意,这个问题之前没有回答过,因为我的问题是专门关于Python 的。此外,VonC 所指的项目在 Windows 7 上不起作用。

aba*_*ert 4

做到这一点的简单方法是通过ISimpleAudioVolume.

如果您使用项目中的 Win32 COM 包装器pywin32,那么在 Python 中访问应该非常容易。

正如文档所解释的,有多种方法可以获取对ISimpleAudioVolume. 您需要获得跨进程会话,方法sndvol.exe就是如此。有关详细信息,请参阅WASAPI的顶级文档。

伪代码看起来像这样:

mmde = CoCreateInstance(CLSID_MMDeviceEnumerator, None, 
                        CLSCTX_ALL, IID_IMMDeviceEnumerator)
mmd = mmde.GetDefaultAudioEndpoint(eRender, eMultimedia)
mgr = mmd.Activate(IID_IAudioSessionManager)
sav = mgr.GetSimpleAudioVolume(None, True)
sav.SetMasterVolume(0.5)
Run Code Online (Sandbox Code Playgroud)

  • 就我个人而言,我认为该文档很难阅读。如果你有时间,你能将伪代码翻译成实际的Python代码吗?我一直在努力让它工作,但我被困在第一行 - 获取 CLSID 和 IID... (2认同)