Windows XP-在Python中以编程方式禁用/取消禁用音频
我的机器有两个音频输入:一个用于游戏的麦克风,一个用于吉他的线。当使用其中一个时,另一个必须静音以消除hiss/static,因此我希望编写一个小脚本来切换哪一个静音(点击托盘图标,切换到我的输入设备,静音和取消静音非常不方便) 我想也许我可以用它来做这件事,但我似乎可以专门设置输出量而不是输入量,而且我对win32还不够熟悉,甚至不知道在哪里可以找到更好的信息 有人能给我指出正确的方向吗?免责声明:我无论如何都不是windows编程大师……但这是我最好的猜测 根据: 如何使用公开的Win32函数执行xyz? 一般来说,诀窍是不要 将其视为Python/PyWi32问题 是的,但是为了寻找 您的产品的文档或示例 问题,不管是哪种语言。 这通常会给你 执行此操作所需的信息 使用这些 扩展。包括 文档将告诉您 的参数和返回类型 函数,以便您可以轻松确定 “拼写”事物的正确方法 蟒蛇 听起来你想控制“端点设备”音量(即声卡/线路输入)。这是朝那个方向走的路 如果之前的版本不是您想要的,那么我们可以稍微宽泛地介绍一下windows中的音频设备控制 这是一篇博文,作者完成了您在C#中的工作(我知道您指定了python,但您可能能够从代码中提取正确的API调用)Windows XP-在Python中以编程方式禁用/取消禁用音频,python,windows,winapi,audio,pywin32,Python,Windows,Winapi,Audio,Pywin32,我的机器有两个音频输入:一个用于游戏的麦克风,一个用于吉他的线。当使用其中一个时,另一个必须静音以消除hiss/static,因此我希望编写一个小脚本来切换哪一个静音(点击托盘图标,切换到我的输入设备,静音和取消静音非常不方便) 我想也许我可以用它来做这件事,但我似乎可以专门设置输出量而不是输入量,而且我对win32还不够熟悉,甚至不知道在哪里可以找到更好的信息 有人能给我指出正确的方向吗?免责声明:我无论如何都不是windows编程大师……但这是我最好的猜测 根据: 如何使用公开的Win32函
祝你好运!如果你得到了可以工作的代码,我很想看看。你最好使用
ctypes
-pywin32
如果你使用的是已经包含的API之一,那就很好了,但是我想你在使用声音API时会运气不佳。与tgray
提供的C#链接中的示例代码一起,使用ctypes
和winmm.dll
,或者使用SWIG
包装winmm.dll
。这可能会更快,因为您不必在ctypes
中为API调用中使用的类型(如MIXERCONTROLDETAILS
)构建C结构映射类型。tgray似乎为您指明了正确的方向,但一旦您找到了正确的Win32 API来处理,您有两个选择:
1) 尝试使用pywin32…但它可能包装您需要的功能,也可能不包装您需要的功能(可能不包装)。因此,您可能只想在需要使用COM来获取所需功能的情况下执行此操作
2) 使用ctypes。一般来说,用ctypes包装任何C功能都非常容易
3) 如果C#示例看起来像您所需要的,那么您应该能够将其翻译成IronPython,而只需付出相当少的努力。可能比使用C API更容易。当然是YMMV。我也有类似的问题,不知道如何使用Windows API来完成我想要的任务。我最终只是用AutoIt自动化GUI。我认为这将是最快和最简单的解决方案(尽管是一个“黑客”解决方案)。正如我今天早些时候所说,您可以在Python中使用AutoIT。我试图进入Windows API,但不幸的是发现它无法穿透。我对我的AutoIt解决方案很满意;如果有人感兴趣,脚本在