使用 pygame.midi 播放 midi 音符时出现分段错误

Segementation fault when playing midi notes with pygame.midi

我一直在尝试在 PyCharm 中编写一个简单的 python 程序,它可以使用 pygame.midi 播放 midi 音符。好像我可以初始化和退出 pygame.midi 就好了,像这样:

import pygame
import pygame.midi
import time

pygame.midi.init()

pygame.midi.quit()

上面的代码 returns 没有错误,但是,当我尝试用 pygame.midi 演奏音符时,我收到一条错误消息。这是给我错误消息的代码:

import pygame
import pygame.midi
import time

pygame.midi.init()

player = pygame.midi.Output(0)
player.set_instrument(42)
player.note_on(60, 127)
time.sleep(3)
player.note_off(60, 127)

pygame.midi.quit()

这是错误消息:

Fatal Python error: (pygame parachute) Segmentation Fault
Python runtime state: initialized

Current thread 0x000040fc (most recent call first):
  File "C:\Users\username\PycharmProjects\Geh\xf8rprogram_V3\venv\lib\site-packages\pygame\midi.py", line 422 in __init__
  File "C:/Users/username/PycharmProjects/Geh\xf8rprogram_V3/krasjtest.py", line 7 in <module>

我该如何解决这个问题?

安装最新版本pygame:

pip install pygame==2.0.0.dev6

为了避免问题 运行 以管理员身份使用 cmd 或 powershell。或者确保您在 PyCharm 中指定了此版本。但我建议您先尝试在 IDLE 中 运行 它。这应该可以解决问题。