关闭 mido 端口时的“PortMidi: `Bad pointer'”

Posted

技术标签:

【中文标题】关闭 mido 端口时的“PortMidi: `Bad pointer\'”【英文标题】:"PortMidi: `Bad pointer'" when closing mido port关闭 mido 端口时的“PortMidi: `Bad pointer'” 【发布时间】:2016-10-16 00:40:00 【问题描述】:

我的代码:

import mido
import time

mido.set_backend('mido.backends.pygame')

output = mido.open_output()
output.send(mido.Message('note_on', note=64, velocity=60))
time.sleep(3)
output.close()

在最后一行之后,打印如下错误:

Exception Exception: "PortMidi: `Bad pointer'" in <pypm.Output object at 0x025FF0B0> ignored

除此之外,一切似乎都运行良好。但是我正在开发一个控制台应用程序,这个输出很烦人。我怎样才能摆脱这个错误?

我使用的是 Windows 7 和 Python 2.7。

【问题讨论】:

一如既往,请提供您的minimal reproducible example 以获取错误帮助。 试试这个post @LightnessRacesinOrbit 我已经添加了代码:) 如果有人感兴趣:我最终只使用了RtMidi 后端。只需要pip install python-rtmidi,然后是mido.set_backend('mido.backends.rtmidi')。一切正常。 【参考方案1】:

您甚至不必设置 RtMidi 后端,因为它是默认设置,请参阅 mido backend documentation

【讨论】:

以上是关于关闭 mido 端口时的“PortMidi: `Bad pointer'”的主要内容,如果未能解决你的问题,请参考以下文章

python mido MIDI包中使用MultiPort的问题

php 怎么关闭非正常退出时的socket端口

如何在 mido 中从 Message 中获取 note 属性?

使用 mido 库的绝对 MIDI 刻度值

在 Mac 上从 Python Mido 库输出 MIDI 声音

在 Python MIDI MIDO 读取/保存文件中转换时间/刻度