我想使用我的 USB 钢琴的控制旋钮(Spotify Premium 和 discord)来控制 2 个特定 Windows 应用程序的音量。
第一次尝试 - AutoHotkey。KeyHistory 没有检测到任何来自 USB 钢琴的输入,所以我就此停了下来。
第二次尝试 - “MIDI 宏” - 我使用来自 mediachance.com 的名为“MIDI 宏”的第三方程序 - 它具有绑定热键和运行可执行文件的强大功能,但脚本功能仅限于数学运算和按键命令。
AHK 能处理这个任务吗?如果不行,我该怎么做?
注意:我使用的是 Windows 11。USB 钢琴是 Arturia Minilab MkII。
Arturia Minilab MkII,旋钮 10 和 11:
更新:我做了进一步的研究,似乎我可以使用 Python 来制定解决方案。下面的代码没有返回任何已连接 USB 设备的名称。有什么想法吗?
import mido
def find_midi_device():
# Find the USB MIDI device
for device in mido.get_input_names():
if "Arturia" in device:
return device
return None
def main():
device_name = find_midi_device()
if device_name is None:
print("USB MIDI device not found.")
return
print("Found USB MIDI device:", device_name)
with mido.open_input(device_name) as port:
print("Listening for MIDI messages. Turn the control knob on your device...")
for message in port:
if message.type == 'control_change':
print("Control knob value:", message.value)
if __name__ == "__main__":
main()