首页 > 解决方案 > 使用 pygame.midi 播放 midi 音符时出现分段错误

问题描述

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

import pygame
import pygame.midi
import time

pygame.midi.init()

pygame.midi.quit()

上面的代码没有返回任何错误,但是,一旦我尝试使用 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>

我该如何解决这个问题?

标签: pythonaudiopygamesegmentation-faultmidi

解决方案


安装最新版本的pygame:

pip install pygame==2.0.0.dev6

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


推荐阅读