У меня есть следующие предупреждения при создании экземпляра пиаудио
.
chris@chris-Inspiron-3847:~/Documents/Projects/Papinhio player/setup/database_init$ python
Python 3.9.7 (по умолчанию, 10 сентября 2021 г., 14:59:43)
[GCC 11.2.0] в Linux
Введите «помощь», «авторское право», «кредиты» или «лицензия» для получения дополнительной информации.
>>> импортировать пиаудио
>>> p = pyaudio.PyAudio()
ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) не удалось открыть ведомое устройство
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Порт неизвестного поля
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Порт неизвестного поля
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Недопустимый тип карты
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Недопустимый тип карты
ALSA lib pcm_dmix.c:1075:(snd_pcm_dmix_open) не удалось открыть ведомое устройство
>>> выход()
chris@chris-Inspiron-3847:~/Документы/Проекты/Проигрыватель Papinhio/setup/database_init$
файл: /usr/доля/alsa/alsa.conf
#
# Файл конфигурации библиотеки ALSA
#
# предварительно загрузить файлы конфигурации
@хуки [
{
функциональная нагрузка
файлы [
"/usr/etc/alsa/conf.d"
"/etc/alsa/conf.d"
"/etc/asound.conf|||/usr/etc/asound.conf"
"~/.asoundrc"
{
@func concat
строки [
{
@func getenv
вары [
XDG_CONFIG_HOME
]
по умолчанию "~/.config"
}
"/alsa/asoundrc"
]
}
]
ошибки ложные
}
]
# загрузить файлы конфигурации карты (по запросу)
карты.@крючки [
{
функциональная нагрузка
файлы [
{
@func concat
строки [
{ @func каталог данных }
"/cards/aliases.conf"
]
}
]
}
{
функция load_for_all_cards
файлы [
{
@func concat
строки [
{ @func каталог данных }
"/открытки/"
{ @func приватная_строка }
".конф"
]
}
]
ошибки ложные
}
]
#
# значения по умолчанию
#
# показать все подсказки имен также для определений без раздела подсказок {}
defaults.namehint.showwall на
# показывать только основные подсказки имени
defaults.namehint.basic на
# показать расширенные подсказки имени
defaults.namehint.extended on
#
defaults.ctl.card 0
defaults.pcm.card 0
defaults.pcm.device 0
defaults.pcm.subdevice -1
defaults.pcm.nonblock 1
defaults.pcm.compat 0
defaults.pcm.minperiodtime 5000 # в США
defaults.pcm.ipc_key 5678293
аудио defaults.pcm.ipc_gid
defaults.pcm.ipc_perm 0660
defaults.pcm.tstamp_type по умолчанию
defaults.pcm.dmix.max_periods 0
defaults.pcm.dmix.channels 2
defaults.pcm.dmix.rate 48000
defaults.pcm.dmix.format без изменений
defaults.pcm.dmix.card defaults.pcm.card
устройство по умолчанию.pcm.dmix.устройство по умолчанию.pcm.устройство
defaults.pcm.dsnoop.card defaults.pcm.card
устройство по умолчанию.pcm.dsnoop.устройство по умолчанию.pcm.device
defaults.pcm.front.card defaults.pcm.card
defaults.pcm.front.device defaults.pcm.device
по умолчанию.pcm.задняя.карта по умолчанию.pcm.карта
по умолчанию.pcm.заднее.устройство по умолчанию.pcm.устройство
defaults.pcm.center_lfe.card defaults.pcm.card
defaults.pcm.center_lfe.device defaults.pcm.device
defaults.pcm.side.card defaults.pcm.card
defaults.pcm.side.device defaults.pcm.device
#defaults.pcm.surround21.card defaults.pcm.card
#defaults.pcm.surround21.device defaults.pcm.device
#defaults.pcm.surround40.card defaults.pcm.card
#defaults.pcm.surround40.device defaults.pcm.device
#defaults.pcm.surround41.card defaults.pcm.card
#defaults.pcm.surround41.device defaults.pcm.device
#defaults.pcm.surround50.card defaults.pcm.card
#defaults.pcm.surround50.device defaults.pcm.device
#defaults.pcm.surround51.card defaults.pcm.card
#defaults.pcm.surround51.device defaults.pcm.device
#defaults.pcm.surround71.card defaults.pcm.card
#defaults.pcm.surround71.device defaults.pcm.device
карта по умолчанию.pcm.iec958.карта по умолчанию.pcm.card
устройство по умолчанию.pcm.iec958.устройство по умолчанию.pcm.устройство
карта по умолчанию.модема.pcm
по умолчанию.pcm.модем.устройство по умолчанию.pcm.устройство
defaults.pcm.file_format необработанный
defaults.pcm.file_truncate true # обрезать файлы через файл или тройник PCM
defaults.rawmidi.card 0
defaults.rawmidi.device 0
defaults.rawmidi.subdevice -1
defaults.hwdep.card 0
defaults.hwdep.device 0
defaults.timer.class 2
defaults.timer.sclass 0
defaults.timer.card 0
по умолчанию.таймер.устройство 0
defaults.timer.subdevice 0
#
# Интерфейс ПКМ
#
ПКМ.hw {
@args [ РАЗРАБОТКА КАРТЫ SUBDEV ]
@args.CARD {
введите строку
По умолчанию {
@func getenv
вары [
ALSA_PCM_CARD
ALSA_CARD
]
По умолчанию {
@func обратитесь
имя defaults.pcm.card
}
}
}
@args.DEV {
введите целое число
По умолчанию {
@func igetenv
вары [
ALSA_PCM_DEVICE
]
По умолчанию {
@func обратитесь
имя defaults.pcm.device
}
}
}
@args.SUBDEV {
введите целое число
По умолчанию {
@func обратитесь
имя defaults.pcm.subdevice
}
}
тип хв
карта $КАРТА
устройство $DEV
подустройство $SUBDEV
намекать {
показать {
@func обратитесь
имя defaults.namehint.extended
}
описание "Прямое аппаратное устройство без каких-либо преобразований"
}
}
pcm.plughw {
@args [ РАЗРАБОТКА КАРТЫ SUBDEV ]
@args.CARD {
введите строку
По умолчанию {
@func getenv
вары [
ALSA_PCM_CARD
ALSA_CARD
]
По умолчанию {
@func обратитесь
имя defaults.pcm.card
}
}
}
@args.DEV {
введите целое число
По умолчанию {
@func igetenv
вары [
ALSA_PCM_DEVICE
]
По умолчанию {
@func обратитесь
имя defaults.pcm.device
}
}
}
@args.SUBDEV {
введите целое число
По умолчанию {
@func обратитесь
имя defaults.pcm.subdevice
}
}
тип штекер
раб.пкм {
тип хв
карта $КАРТА
устройство $DEV
подустройство $SUBDEV
}
намекать {
показать {
@func обратитесь
имя defaults.namehint.extended
}
описание "Аппаратное устройство со всеми программными преобразованиями"
}
}
штепсельная вилка {
@args [ РАБ ]
@args.SLAVE {
введите строку
}
тип штекер
раб.pcm $SLAVE
}
ПКМ.шм {
@args [РАЗЪЕМ PCM]
@args.SOCKET {
введите строку
}
@args.PCM {
введите строку
}
тип шм
сервер $SOCKET
ПКМ $ПКМ
}
ПКМ.трой {
@args [ ФОРМАТ ПОДЧИНЕННОГО ФАЙЛА ]
@args.SLAVE {
введите строку
}
@args.ФАЙЛ {
введите строку
}
@args.FORMAT {
введите строку
По умолчанию {
@func обратитесь
имя defaults.pcm.file_format
}
}
тип файла
раб.pcm $SLAVE
файл $ФАЙЛ
формат $ФОРМАТ
обрезать {
@func обратитесь
имя defaults.pcm.file_truncate
}
}
ПКМ.файл {
@args [ФОРМАТ ФАЙЛА]
@args.ФАЙЛ {
введите строку
}
@args.FORMAT {
введите строку
По умолчанию {
@func обратитесь
имя defaults.pcm.file_format
}
}
тип файла
раб.pcm ноль
файл $ФАЙЛ
формат $ФОРМАТ
обрезать {
@func обратитесь
имя defaults.pcm.file_truncate
}
}
ПКМ.null {
введите ноль
намекать {
показать {
@func обратитесь
имя defaults.namehint.basic
}
description «Отменить все сэмплы (воспроизведение) или сгенерировать нулевые сэмплы (захват)»
}
}
# перенаправление на расширенные определения PCM с загрузкой по запросу
pcm.cards карты.pcm
карты pcm.default.pcm.default
pcm.sysdefault карты.pcm.default
ПКМ.передние карты.ПКМ.фронт
#pcm.тыл карты.pcm.тыл
#pcm.center_lfe карты.pcm.center_lfe
#pcm.side карты.pcm.side
#pcm.surround21 карты.pcm.surround21
#pcm.surround40 карты.pcm.surround40
#pcm.surround41 карты.pcm.surround41
#pcm.surround50 карты.pcm.surround50
#pcm.surround51 карты.pcm.surround51
#pcm.surround71 карты.pcm.surround71
pcm.iec958 карты.pcm.iec958
pcm.spdif iec958
карты pcm.hdmi.pcm.hdmi
pcm.dmix карты.pcm.dmix
карты pcm.dsnoop.pcm.dsnoop
PCM.модемные карты.PCM.модем
карты pcm.phoneline.pcm.phoneline
#
# Интерфейс управления
#
ctl.sysdefault {
тип хв
карта {
@func getenv
вары [
ALSA_CTL_CARD
ALSA_CARD
]
По умолчанию {
@func обратитесь
имя defaults.ctl.card
}
}
hint.description "Устройство управления по умолчанию"
}
ctl.по умолчанию ctl.sysпо умолчанию
ctl.hw {
@args [ КАРТА ]
@args.CARD {
введите строку
По умолчанию {
@func getenv
вары [
ALSA_CTL_CARD
ALSA_CARD
]
По умолчанию {
@func обратитесь
имя defaults.ctl.card
}
}
}
тип хв
карта $КАРТА
hint.description "Устройство прямого управления"
}
ctl.shm {
@args [КОНТРОЛЬ СОКЕТА]
@args.SOCKET {
введите строку
}
@args.CTL {
введите строку
}
тип шм
сервер $SOCKET
ctl $CTL
}
#
# Интерфейс RawMidi
#
rawmidi.default {
тип хв
карта {
@func getenv
вары [
ALSA_RAWMIDI_CARD
ALSA_CARD
]
По умолчанию {
@func обратитесь
имя defaults.rawmidi.card
}
}
устройство {
@func igetenv
вары [
ALSA_RAWMIDI_DEVICE
]
По умолчанию {
@func обратитесь
имя defaults.rawmidi.device
}
}
hint.description "Необработанное MIDI-устройство по умолчанию"
}
rawmidi.hw {
@args [ РАЗРАБОТКА КАРТЫ SUBDEV ]
@args.CARD {
введите строку
По умолчанию {
@func getenv
вары [
ALSA_RAWMIDI_CARD
ALSA_CARD
]
По умолчанию {
@func обратитесь
имя defaults.rawmidi.card
}
}
}
@args.DEV {
введите целое число
По умолчанию {
@func igetenv
вары [
ALSA_RAWMIDI_DEVICE
]
По умолчанию {
@func обратитесь
имя defaults.rawmidi.device
}
}
}
@args.SUBDEV {
введите целое число
по умолчанию -1
}
тип хв
карта $КАРТА
устройство $DEV
подустройство $SUBDEV
намекать {
описание "Прямой драйвер устройства rawmidi"
устройство $DEV
}
}
сыроймиди.виртуальный {
@args [ ОБЪЕДИНИТЬ ]
@args.MERGE {
введите строку
по умолчанию 1
}
тип виртуальный
объединить $MERGE
}
#
# Интерфейс секвенсора
#
seq.default {
тип хв
hint.description "Устройство-секвенсор по умолчанию"
}
seq.hw {
тип хв
}
#
# Интерфейс HwDep
#
hwdep.default {
тип хв
карта {
@func getenv
вары [
ALSA_HWDEP_CARD
ALSA_CARD
]
По умолчанию {
@func обратитесь
имя defaults.hwdep.card
}
}
устройство {
@func igetenv
вары [
ALSA_HWDEP_DEVICE
]
По умолчанию {
@func обратитесь
имя defaults.hwdep.device
}
}
hint.description "Аппаратно-зависимое устройство по умолчанию"
}
hwdep.hw {
@args [ РАЗРАБОТКА КАРТЫ ]
@args.CARD {
введите строку
По умолчанию {
@func getenv
вары [
ALSA_HWDEP_CARD
ALSA_CARD
]
По умолчанию {
@func обратитесь
имя defaults.hwdep.card
}
}
}
@args.DEV {
введите целое число
По умолчанию {
@func igetenv
вары [
ALSA_HWDEP_DEVICE
]
По умолчанию {
@func обратитесь
имя defaults.hwdep.device
}
}
}
тип хв
карта $КАРТА
устройство $DEV
намекать {
описание "Прямое аппаратно-зависимое устройство"
устройство $DEV
}
}
#
# Интерфейс таймера
#
timer_query.default {
тип хв
}
timer_query.hw {
тип хв
}
timer.default {
тип хв
учебный класс {
@func обратитесь
имя defaults.timer.class
}
класс {
@func обратитесь
имя defaults.timer.sclass
}
карта {
@func обратитесь
имя defaults.timer.card
}
устройство {
@func обратитесь
имя defaults.timer.device
}
подустройство {
@func обратитесь
имя defaults.timer.subdevice
}
hint.description "Таймер по умолчанию"
}
таймер.hw {
@args [ КЛАСС SCLASS CARD DEV SUBDEV ]
@args.CLASS {
введите целое число
По умолчанию {
@func обратитесь
имя defaults.timer.class
}
}
@args.SCLASS {
введите целое число
По умолчанию {
@func обратитесь
имя defaults.timer.sclass
}
}
@args.CARD {
введите строку
По умолчанию {
@func обратитесь
имя defaults.timer.card
}
}
@args.DEV {
введите целое число
По умолчанию {
@func обратитесь
имя defaults.timer.device
}
}
@args.SUBDEV {
введите целое число
По умолчанию {
@func обратитесь
имя defaults.timer.subdevice
}
}
тип хв
класс $КЛАСС
класс $SCLASS
карта $КАРТА
устройство $DEV
подустройство $SUBDEV
намекать {
описание "Устройство прямого таймера"
устройство $DEV
}
}
Несмотря на предупреждения, модуль работает хорошо (полностью не тестировался).
Тем не менее, я хотел бы удалить их, если это возможно. Какие-либо предложения?