【问题标题】:Linux Python Pygame Cannot access /etc/alsa/alsa.confLinux Python Pygame 无法访问 /etc/alsa/alsa.conf
【发布时间】:2017-09-28 20:49:47
【问题描述】:

我正在尝试运行包含以下内容的基本 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/ 不存在

【问题讨论】:

  • 您是否正在运行软件 MIDI 合成器(例如 timidity 或 fluidsynth)或连接到您的系统的硬件?
  • 我连接了一个卡西欧键盘,所以我希望它能被检测到。我胆怯地尝试过,但也没有发现
  • 不同的发行版可能会将文件放在不同的位置。您是否从“外国”发行版安装了一些软件包?
  • 据我所知,没有
  • 问题是,如果我在终端中运行lsusbamidi,它会检测到键盘,但是当我尝试使用pygame 检测时,它说没有midi 设备...

标签: python linux pygame midi alsa


【解决方案1】:

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

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

至少在 my case 中有效。

【讨论】:

  • 可能需要先用sudo mkdir /etc/alsa创建/etc/alsa目录
【解决方案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 的链接。在第二种形式中,在 当前目录。在第 3 和第 4 种形式中,创建指向 DIRECTORY 中每个 TARGET 的链接。通过创建硬链接 默认,符号链接与--symbolic。默认情况下,每个目的地(新链接的名称)不应该已经 存在。创建硬链接时,每个 TARGET 都必须存在。符号链接可以包含任意文本;如果以后 已解决,相对链接将根据其父目录进行解释。

【讨论】:

  • 问题是/etc/alsa/alsa.conf 不存在。
  • 如果不存在,创建它。
猜你喜欢
  • 2017-08-17
  • 1970-01-01
  • 2015-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-10
相关资源
最近更新 更多