媒体播放/暂停模拟

发布于 2021-01-29 14:10:36

我的键盘包含用于执行各种非标准键盘任务的一行按钮。这些键包含诸如修改音量,播放或暂停以及跳过曲目等功能。如何使用Python模拟基本播放/暂停?顺便说一下,我在Windows上。

关注者
0
被浏览
92
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我会用pywin32。与安装捆绑在一起的是大量的API文档(通常放在C:\Python32\Lib\site- packages。),它实际上包装了Win32库中的许多内容,该库用于Windows中的许多低级任务。

    安装后,您可以使用keybd_event的包装器。

    您也可以使用SendInput代替,keybd_event但PyWin32似乎没有使用它。SendMessage也是一种选择,但比较麻烦。

    您需要查找这些特殊按钮的虚拟扫描代码,因为我怀疑字符到代码的映射功能会在这里为您提供帮助。您可以在此处找到参考。

    然后,只需调用该函数即可。下面的代码段将Chuck Berry暂停在我的计算机上。

    >>> import win32api
    >>> VK_MEDIA_PLAY_PAUSE = 0xB3
    >>> hwcode = win32api.MapVirtualKey(VK_MEDIA_PLAY_PAUSE, 0)
    >>> hwcode
    34
    >>> win32api.keybd_event(VK_MEDIA_PLAY_PAUSE, hwcode)
    

    MapVirtualKey为我们提供了所需的硬件扫描代码keybd_event(或更可能是键盘驱动程序。)

    请注意,所有这些操作都由键盘驱动程序捕获,因此您实际上没有任何控制键发送到的位置。有了SendMessage你可以将它们发送到特定的窗口。媒体密钥通常无关紧要,因为它们会被音乐播放器等截获。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看