使用 pygame.midi 播放 midi 音符时出现分段错误
Posted
技术标签:
【中文标题】使用 pygame.midi 播放 midi 音符时出现分段错误【英文标题】:Segementation fault when playing midi notes with pygame.midi 【发布时间】:2020-04-29 10:41:48 【问题描述】:我一直在尝试在 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>
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:安装最新版本的pygame:
pip install pygame==2.0.0.dev6
为避免出现问题,请以管理员身份运行 cmd 或 powershell。或者确保你在 PyCharm 中指定了这个版本。但我建议你先尝试在 IDLE 中运行它。这应该可以解决问题。
【讨论】:
以上是关于使用 pygame.midi 播放 midi 音符时出现分段错误的主要内容,如果未能解决你的问题,请参考以下文章