Python симулирует медиа ключи - PullRequest
0 голосов
/ 16 ноября 2018

Как заставить Python (3.7) манипулировать любым медиаплеером, работающим в настоящее время в Windows?

Я хочу получить функциональность, аналогичную мультимедийным клавишам на клавиатуре, например:

  • Сценарий play_pause.py, который будет воспроизводить или приостанавливать музыку в Spotify или фильме в медиаплеере (независимо от того, что воспроизводится в данный момент).
  • скрипт play_next.py, который будет воспроизводить следующую песню / фильм и т. Д.

Чтобы уточнить: я не хочу, чтобы Python виртуально нажимал реальные клавиши мультимедиа на клавиатуре. Я хотел бы получить функциональность таких клавиш, чтобы они могли работать даже без подключения клавиатуры к ПК.

1 Ответ

0 голосов
/ 17 ноября 2018

Самое простое решение - использовать win32api.keybd_event из pywin32 .

Например, установить pywin32 :

pip install pywin32

И попробуйте воспроизвести / поставить на паузу - должно работать без клавиатуры:

import win32api
from win32con import VK_MEDIA_PLAY_PAUSE, KEYEVENTF_EXTENDEDKEY

win32api.keybd_event(VK_MEDIA_PLAY_PAUSE, 0, KEYEVENTF_EXTENDEDKEY, 0)

Коды виртуальных клавиш: здесь и здесь .

Примечание:
На этой ссылке о функции keybd_event вы можете увидеть сообщение: " Примечание Эта функция была заменена. Используйте SendInput вместо «.
Поэтому, если вы хотите / должны использовать SendInput , вам, вероятно, нужно использовать ctypes. Предлагаю вам проверить пример здесь . Я тоже пробовал этот код, и он работает. Если вам нужна дополнительная помощь, дайте мне знать.

...