【问题标题】:Python pygame.midi error portmidiPython pygame.midi 错误 portmidi
【发布时间】:2015-10-22 17:04:24
【问题描述】:

我使用 Debian 8 和任何版本的 python pygame 当我尝试通过单击来聆听 midi 时,我得到了:

Une erreur est survenue
La lecture de ce film exige un greffon Décodeur audio/x-midi-event qui n'est pas installé.

但我可以听到:

aplay monfichier.mid

如果我尝试运行我的 prog python/pygame 在网上找到一个众所周知的示例,我确信它可以工作:

import pygame
import time
import pygame.midi

pygame.midi.init()
player= pygame.midi.Output(0)
player.set_instrument(48,1)

major=[0,4,7,12]

def go(note):
    player.note_on(note, 127,1)
    time.sleep(1)
    player.note_off(note,127,1)

def arp(base,ints):
    for n in ints:
        go(base+n)

def chord(base, ints):
    player.note_on(base,127,1)
    player.note_on(base+ints[1],127,1)
    player.note_on(base+ints[2],127,1)
    player.note_on(base+ints[3],127,1)
    time.sleep(1)
    player.note_off(base,127,1)
    player.note_off(base+ints[1],127,1)
    player.note_off(base+ints[2],127,1)
    player.note_off(base+ints[3],127,1)
def end():
       pygame.quit()

我有:

python3 pygameex.py 
Exception ignored in: <pypm.Output object at 0xb6514e30>
Traceback (most recent call last):
  File "pypm.pyx", line 306, in pypm.Output.__dealloc__ (src/pypm.c:1438)
Exception: b"PortMidi: `Bad pointer'"

我尝试了 python 2.7 和 python 3 几乎相同的错误 我在网上寻找它,我发现同样的问题没有答案

我想在不经过文件的情况下做笔记和和弦 我在找python模块却找不到快乐

【问题讨论】:

  • aplayaplaymidi?

标签: python pygame midi


【解决方案1】:

如果有人会遇到同样的问题,通常是在您忘记在程序结束时正确关闭 MIDI 资源时发生:

导入 pygame.midi 进口时间 pygame.midi.init() midiOut = pygame.midi.Output(0) midiOut.note_on(64,127) time.sleep(0.5) midiOut.note_off(64,127) midiOut.close()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多