[英]Windows XP - mute/unmute audio in programmatically in Python
免责声明: 无论如何我都不是Windows编程大师...但这是我的最佳猜测
根据pywin32常见问题解答 :
如何使用公开的Win32函数执行xyz?
通常,诀窍是根本不认为它是Python / PyWin32问题,而是搜索文档或问题示例,无论使用哪种语言。 通常,这将为您提供使用这些扩展名执行相同操作所需的信息。 随附的文档将告诉您函数的参数和返回类型,以便您可以轻松确定在Python中“拼写”事物的正确方法。
听起来好像您想控制“端点设备”的音量(即,声卡/线路输入)。 这是该方向上的API参考 。
如果以前的版本不是您想要的, 这里将更广泛地介绍如何在Windows中控制音频设备。
这是来自某人的博客文章,该人做了您想用C#进行的工作(我知道您指定了python,但您可能能够从代码中提取正确的API调用)。
祝好运! 而且,如果您确实有可用的代码,那么我很感兴趣。
我有一个类似的问题,无法弄清楚如何使用Windows API来完成我想要的事情。 我最终只是用AutoIt自动化了GUI。 我认为这将是最快,最简单的解决方案(尽管这是一个“ hacky”解决方案)。 正如我今天早些时候回答的那样,您可以在Python中使用AutoIT。
使用ctypes
可能会更好-如果您使用的是已经包含的API之一,那么pywin32
会很好,但是我认为您对声音API会感到不走运。 与tgray
提供的C#链接中的示例代码一起,使用ctypes
和winmm.dll
,或者使用SWIG
包装winmm.dll
。 这可能会更快,因为您不必为API调用中使用的类型(例如MIXERCONTROLDETAILS
在ctypes
构建C结构映射类型。
tgray似乎已为您指明了正确的方向,但是一旦您找到了正确的Win32 API即可使用,则有两种选择:
1)尝试使用pywin32 ...,但是它可能包装或可能不包装您需要的功能(它可能没有)。 因此,如果您需要使用COM来获得所需的功能,则可能只想这样做。
2)使用ctypes。 通常,使用ctypes包装几乎所有C功能都非常容易。
3)如果C#示例看起来像您所需要的,您应该可以轻松地将其转换为IronPython。 比使用C API更容易。 YMMV,当然。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.