如何在Windows中使用Pynput按下媒体键?

时间:2019-06-23 11:47:03

标签: python python-3.x pynput

我需要按一下播放媒体键,但找不到合适的键值

我尝试做

from pynput.keyboard import Key, Controller
keyboard= Controller()
keyboard.press(Key.MediaPlayPause)
keyboard.release(Key.MediaPlayPause)

但是它不起作用 我没有任何错误

错误回溯

Traceback (most recent call last):
  File "2.py", line 63, in <module>
    keyboard.press(Key.MediaPlayPause)
  File "C:\Users\nebbu\AppData\Local\Programs\Python\Python37\lib\enum.py", line 349, in __getattr__
    raise AttributeError(name) from None
AttributeError: MediaPlayPause

1 个答案:

答案 0 :(得分:1)

Pynput上的媒体控制仍然不可用。 (https://github.com/moses-palmer/pynput/pull/171

您可以通过使用虚拟按键代码发出按键输入事件:

from pynput.keyboard import Controller, KeyCode


def main():
    keyboard = Controller()

    print('Pausing/Resuming... ')

    keyboard.press(KeyCode.from_vk(0xB3))  # Play/Pause

if __name__ == "__main__":
    main()
  

在示例中,我们使用播放/暂停虚拟键码(0xB3)。您可以在https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes

上查看所有可能值的完整列表。