Windows XP - 在Python中程序化静音/取消静音音频
4 个回答
1
你可能更适合使用 ctypes
。如果你使用的是已经包含的API,那么 pywin32
还不错,但我觉得在处理声音相关的API时,你可能会遇到问题。结合 tgray
提供的C#示例代码,使用 ctypes
和 winmm.dll
,或者你也可以用 SWIG
来封装 winmm.dll
。这样做可能会更快,因为你不需要在 ctypes
中为像 MIXERCONTROLDETAILS
这样的类型构建C结构映射。
6
免责声明: 我并不是Windows编程方面的专家……但这是我最好的猜测。
我该如何使用暴露的Win32函数来做xyz?
一般来说,诀窍是不要把它当作一个Python/PyWin32的问题来考虑,而是要寻找与你的问题相关的文档或示例,无论是哪个编程语言。这样通常能给你提供执行相同操作所需的信息。附带的文档会告诉你函数的参数和返回类型,这样你就能轻松确定在Python中如何正确地“拼写”这些内容。
听起来你想控制“终端设备”的音量(也就是你的声卡或线路输入)。这里有一个API参考,可以帮助你。
如果上面的内容不是你想要的,这里有一个更广泛的关于控制Windows音频设备的介绍。
这里有一篇来自某人的博客文章,讲的是他如何在C#中实现你想做的事情(我知道你指定的是Python,但你可能能从代码中提取出正确的API调用)。点击这里查看。
祝你好运!如果你能写出可用的代码,我很想看看。
3
我之前也遇到过类似的问题,搞不清楚怎么用Windows的API来实现我想要的功能。最后我选择用AutoIt来自动化图形用户界面(GUI)。我觉得这个方法是最快最简单的解决方案,虽然有点“黑科技”。正如我今天早些时候提到的,你可以在Python里面使用AutoIT。