如何使用 pywin32 静音/取消静音?

Posted

技术标签:

【中文标题】如何使用 pywin32 静音/取消静音?【英文标题】:How to mute/unmute sound using pywin32? 【发布时间】:2019-03-28 13:56:45 【问题描述】:

我的搜索将我引向 Pywin32,它应该能够静音/取消静音并检测其状态(在 Windows 10 上,使用 Python 3+)。我找到了一种使用 AutoHotkey 脚本的方法,但我正在寻找一种 Python 的方法。

更具体地说,我对玩 Windows GUI 不感兴趣。 Pywin32 使用 Windows DLL 工作

到目前为止,我可以通过调用 ahk 脚本来做到这一点:

在python脚本中:

import subprocess
subprocess.call([ahkexe, ahkscript])

在 AutoHotkey 脚本中:

SoundGet, sound_mute, Master, mute
if sound_mute = On ; if the sound is muted
Send Volume_Mute ; press the "mute button" to unmute
SoundSet 30 ; set the sound level at 30

【问题讨论】:

您可以使用ctypes 调用 WIndows dll 函数,因此您也可以使用 Python 执行 AutoHotkey 脚本执行的相同操作。无论哪种方式,您都需要找到等效的调用。 github.com/Paradoxis/Windows-Sound-Manager 完全符合您的要求。 @martineau 可以用于 ctypes,但是如何? (我的代码已经使用 AutoHotkey,我编辑了我的问题以防万一) @Dschoni 看起来很有趣,请写一个答案我会支持它 J.是否:我不确定。 AutoHotkey 文档没有说明SoundSet 调用了哪些Windows 函数。从理论上讲,您可以阅读它的源代码并找出答案。谷歌Windows win32 sound 可能更容易找出可用的功能(及其文档)。 【参考方案1】:

您可以通过 paradoxis (https://github.com/Paradoxis/Windows-Sound-Manager) 使用 Windows 声音管理器。

from sound import Sound
Sound.mute()

每次调用Sound.mute() 都会打开或关闭静音。查看main.py 了解如何使用setter 和getter 方法。

【讨论】:

以上是关于如何使用 pywin32 静音/取消静音?的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3:如何在使用 AVFoundation 录制视频期间将麦克风静音/取消静音

如何检测音量是不是设置为静音?

如何在 ionic 平台的 APIRTC 上静音和取消静音视频/音频?

如何快速制作静音和取消静音按钮?

如何在 webrtc 中将麦克风静音/取消静音

我如何对 youtube 嵌入播放器进行编程以在单击时取消静音