我希望能够用Python控制主音量(不仅仅是应用程序,而是当前活动扬声器的音量)。这似乎是一个棘手的话题;我尝试在C#中完成它,但甚至在那里也无法使其工作。有没有一种方法可以实现这个目标?(Windows 7 x64)
请注意,此问题之前并没有得到解答,因为我的问题特别涉及Python。此外,VonC提到的项目在Windows 7上无法使用。
请注意,此问题之前并没有得到解答,因为我的问题特别涉及Python。此外,VonC提到的项目在Windows 7上无法使用。
ISimpleAudioVolume
是实现这一点的简单方法。pywin32
项目的Win32 COM包装器,那么在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)