Linux Python Pygame 无法访问/etc/alsa/alsa.conf

问题描述 投票:0回答:3

我正在尝试运行一个基本的 Pygame midi 脚本,其中包含以下内容:

import pygame, pygame.midi    

pygame.midi.init()    
print "Midi Devices " + str(pygame.midi.get_count())

我得到以下输出。

ALSA lib conf.c:3009:(snd_config_update_r) Cannot access file /etc/alsa/alsa.conf
ALSA lib seq.c:935:(snd_seq_open_noupdate) Unknown SEQ default
Midi Devices 0

我发现 alsa.conf 文件位于

/usr/share/alsa/
而不是
/etc/alsa/
,但我不知道如何让它在正确的路径上查找该文件。

编辑:我忘了提及这一点,但是

/etc/alsa/
不存在

python linux pygame midi alsa
3个回答
3
投票

Pygame 在错误的位置搜索“alsa.conf”。您应该创建一个指向它的软链接:

sudo ln -s /usr/share/alsa/alsa.conf /etc/alsa/alsa.conf

至少在我的情况下有效。


2
投票

与 ln 建立链接

$ man ln

SYNOPSIS
   ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
   ln [OPTION]... TARGET                  (2nd form)
   ln [OPTION]... TARGET... DIRECTORY     (3rd form)
   ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

在第一种表单中,创建一个名为 LINK_NAME 的 TARGET 链接。在第二种形式中,创建一个指向 TARGET 的链接 当前目录。在第三种和第四种形式中,创建指向目录中每个目标的链接。通过以下方式创建硬链接 默认情况下,带有 --symbolic 的符号链接。默认情况下,每个目的地(新链接的名称)不应已 存在。创建硬链接时,每个TARGET都必须存在。符号链接可以保存任意文本;如果以后 已解决,相对链接被解释为与其父目录相关。


0
投票

让 ALSA 知道带有环境变量的配置文件的位置:

export ALSA_CONFIG_PATH=/usr/share/alsa/alsa.conf

这可以在您的个人资料中完成(作为普通用户),而不需要创建符号链接(作为 root)。

来自环境变量列表

ALSA_CONFIG_PATH

使用文件代替 ALSA_CONFIG_DIR/alsa.conf

设置

ALSA_CONFIG_DIR
也可以。

© www.soinside.com 2019 - 2024. All rights reserved.