簡體   English   中英

如何通過 Pygame 從 MIDI 設備獲取輸入?

[英]How do I get inputs from a MIDI device through Pygame?

我對 Python 和 Pygame 都有些陌生,並試圖簡單地從 Windows 計算機實時讀取 MIDI 控件。 我查看了 Pygame 並設置了我認為最正確的語法,但是 shell 似乎每次都崩潰或至少在pygame.midi.Input(input_id)行重置。

import pygame.midi
import time

pygame.init()
pygame.midi.init()
print("The default input device number is "  + str(pygame.midi.get_default_input_id()))
input_id = int(pygame.midi.get_default_input_id())

clock = pygame.time.Clock()
crashed = False

while (crashed == False):
    print("input:")
    pygame.midi.Input(input_id)
    print(str(pygame.midi.Input.read(10)))
    clock.tick(2)

我也是 Python 和 Pygame 的新手。

我也嘗試了相當長的一段時間來讓 midi 輸入讀取工作。 在另一個論壇中,有人指出我在庫中包含一個示例文件。 你可以在這里看到答案。

邊注:

在我的電腦上,有幾個 Midi 設備處於活動狀態。 因此,不依賴默認輸入 ID 可能是個好主意。 您可以獲得您的 Midi 設備列表,如下所示:

import pygame
from pygame.locals import *
from pygame import midi

def printMIDIDeviceList():
        for i in range(pygame.midi.get_count()):
            print(pygame.midi.get_device_info(i), i)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM