Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将MIDI事件转换为pygame事件_Python_Pygame_Midi - Fatal编程技术网

Python 将MIDI事件转换为pygame事件

Python 将MIDI事件转换为pygame事件,python,pygame,midi,Python,Pygame,Midi,我正在尝试从我的MIDI设备(键盘)获取输入,以便在pygame代码中使用。看起来pygame.midi.midis2events()非常完美,但是它们没有告诉您它们所指的midi是函数的必要参数 pygame.midi.midis2events()将midi事件转换为pygame事件 midis2events(midis, device_id) -> [Event, ...] 我的问题是他们所说的MIDI是什么意思?我在网上找不到指定此项的任何地方。MIDI是由read()返回的MID

我正在尝试从我的MIDI设备(键盘)获取输入,以便在pygame代码中使用。看起来
pygame.midi.midis2events()
非常完美,但是它们没有告诉您它们所指的
midi
是函数的必要参数

pygame.midi.midis2events()
将midi事件转换为pygame事件

midis2events(midis, device_id) -> [Event, ...]

我的问题是他们所说的MIDI是什么意思?我在网上找不到指定此项的任何地方。

MIDI
是由
read()
返回的MIDI事件列表

人们使用它的方式如下:

while not quit:

    # Blit the picture ...
    ...

    # Check for keypresses

    for event in pygame.event.get():
        ...

    for event in midis2events.midis2events(midi_in.read(40), midi_in_id):
        if event.command == midis2events.NOTE_ON:
            play_note(Note().from_int(event.data1))
        ...

    # Update the screen

    pygame.display.update()

MIDI
是由
read()
返回的MIDI事件列表

人们使用它的方式如下:

while not quit:

    # Blit the picture ...
    ...

    # Check for keypresses

    for event in pygame.event.get():
        ...

    for event in midis2events.midis2events(midi_in.read(40), midi_in_id):
        if event.command == midis2events.NOTE_ON:
            play_note(Note().from_int(event.data1))
        ...

    # Update the screen

    pygame.display.update()

midi
必须是从输入缓冲区读取(通过使用对象上的方法)时获得的midi事件Ok。我也不知道如何使用read(),因为它们没有指定num_事件的含义。因为这个网页上的信息似乎不完整,所以他们在哪里指定了所有这些东西。我不知道我在做什么,虽然可能不是。
midi
必须是从输入缓冲区读取(通过使用对象上的方法)时获得的midi事件,Ok。我也不知道如何使用read(),因为它们没有指定num_事件的含义。因为这个网页上的信息似乎不完整,所以他们在哪里指定了所有这些东西。我不知道我在做什么,也许不是。对于.read()函数,“midi_in”是什么?设备ID不工作。“read()”函数也会出现此错误。TypeError:read()缺少1个必需的位置参数:“num_events”我链接到了示例程序。噢!谢谢,我完全错过了。对于.read()函数,“midi_in”是什么?设备ID不工作。“read()”函数也会出现此错误。TypeError:read()缺少1个必需的位置参数:“num_events”我链接到了示例程序。噢!谢谢,我完全错过了。