Pulse Audio при программировании не находит все мои устройства

Para insertar una línea en blanco después de la línea actual mientras permanece en el modo de comando, use:

: r !echo

Este es el comando "rleer en un archivo", pero en lugar de darle un nombre de archivo, le decimos que lea la salida de un comando de shell(!); ese comando de shell, echo, simplemente imprime una línea en blanco. Después de insertar la línea en blanco, permanecerá en el modo de comando.

2
28.06.2019, 14:15
2 ответа

В конце концов, проблема возникла из-за Alsa. У меня есть звуковые карты (или, по крайней мере, виртуальные звуковые карты )на машине с Ubuntu 18, и Alsa по умолчанию считывала только одну. Есть много обходных путей для этой проблемы, тот, который работал для меня, заключался в том, чтобы изменить /создайте файл конфигурации /etc/asound.confс этими двумя строками:

defaults.pcm.card 2
defaults.ctl.card 1

~
Это изменило карту по умолчанию.

0
27.01.2020, 22:16

So this code should print the devices I have for sound io.

Нет, это не так. Он печатает устройства Portaudio , которые являются абстракцией, которая может разрешать или не разрешать устройства ALSA (, хотя сегодня это, вероятно, будет в большинстве случаев ).

В частности, разработчики Portaudio, кажется, решили включить только некоторые устройства ALSA (, в частности аппаратные устройства ), и ни один из подключаемых модулей ALSA.

Если вы хотите получить список всех устройств ALSA , почему бы не использовать библиотеку ALSA вместо Portaudio? Portaudio всегда будет давать вам некоторую абстракцию, поэтому вы либо принимаете эту абстракцию и работаете с ней, либо не используете Portaudio.

Также обратите внимание, что Pulseadio создает совершенно другую проблему. :Pulseaudio захватит все ваши аппаратные устройства ALSA, поэтому единственным устройством, которое вы сможете использовать из Portaudio, являетсяpulse(или default, если он все равно указывает на pulse).

Поэтому, если вы хотите использовать Pulseaudio и составить список приемников Pulseaudio (, который включает аппаратные устройства в том виде, в каком их видит Pulseaudio ), используйте библиотеку Pulseaudio.

1
27.01.2020, 22:16

Теги

Похожие вопросы