Pygame Midi libasound_module_conf_pulse.so错误+无法打开奴隶

问题描述

当我尝试运行pygame.midi代码时出现此错误:

ALSA lib conf.c:3558:(snd_config_hooks_call) Cannot open shared library libasound_module_conf_pulse.so (/usr/lib/alsa-lib/libasound_module_conf_pulse.so: libasound_module_conf_pulse.so: cannot open shared object file: No such file or directory)
ALSA lib seq.c:935:(snd_seq_open_noupdate) Unknown SEQ default

我发现Python搜索的路径不存在。由于某种原因,libasound_module_conf_pulse.so位于/usr/lib/x86_64-linux-gnu/alsa-lib中,因此我在alsa-lib中创建了/usr/lib/目录,并在其中复制了usr/lib/x86_64-linux-gnu/alsa-lib的内容。

解决了第一个错误。现在,我遇到了另一个错误,我认为这与我上面应用的真正阴暗的修复有关(为什么我将两个都包含在同一问题中)。运行pygame.init()时出现此错误:

ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave

我已经在网上搜索并发现只有一个相关问题,但遗憾的是未得到回答。我了解的是,使用pygame.midi中的方法有效,但是使用pygame中的方法(例如init)会引发错误。

因此,此代码可以正常工作:

import pygame.midi
import pygame

def print_devices():
    for n in range(pygame.midi.get_count()):
        print (n,pygame.midi.get_device_info(n))

def number_to_note(number):
    notes = ['c','c#','d','d#','e','f','f#','g','g#','a','a#','b']
    return notes[number%12]

def readInput(input_device):
    clock = pygame.time.Clock()
    while True:
        if input_device.poll():
            event = input_device.read(1)[0]
            data = event[0]
            timestamp = event[1]
            note_number = data[1]
            velocity = data[2]
            if (velocity!=0):
                print (number_to_note(note_number),velocity)



if __name__ == '__main__':
    pygame.midi.init()
    my_input = pygame.midi.Input(3)
    readInput(my_input)
    my_output = pygame.midi.Output(2)
    my_output.note_on(90,120)
    my_output.note_off(90,120)

但是添加pygame.init()会引发从属错误。

我在PyCharm中使用Ubuntu 20.04和Python 3.8。

编辑:直接从终端在Python中运行上述代码不会在pygame.init()上产生从属错误,但有时会出现(snd_pcm_recover) underrun occurred错误。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...