1

У меня есть система с двумя звуковыми устройствами, и я использую звук через выход HDMI. Это карта 1, устройство 7, подустройство 0, поэтому я установил в своем /usr/share/alsa.conf:

defaults.ctl.card 1
defaults.pcm.card 1
defaults.pcm.device 7
defaults.pcm.subdevice 0

Это дает мне звук в приложениях ALSA. Теперь я хочу запустить старую программу, которая нуждается в OSS, поэтому я установил alsa-oss и сделал sudo modprobe snd-pcm-oss snd-mixer-oss . Когда я запускаю старую программу, я получаю звук, но только через аналоговый выход, а не через HDMI, поэтому в эмуляции OSS используется первая карта.

Как я могу сказать эмуляции OSS использовать вместо второй карты?

1 ответ1

0

В документации сказано:

ALSA поддерживает следующие файлы устройств OSS:

PCM:

      /dev /dspX /dev /adspX
[...]
В отличие от реального OSS, ALSA не может использовать файлы устройства больше, чем назначенные. Например, первая карта не может использовать /dev /dsp1 или /dev /dsp2, а только /dev /dsp0 и /dev /adsp0. [...]
Как видно выше, PCM и MIDI могут иметь два устройства. Обычно первое устройство PCM (hw:0,0 в ALSA) отображается на /dev /dsp, а вторичное устройство (hw:0,1) на /dev /adsp (если доступно).

Вы можете изменить это отображение устройства с помощью опций модуля snd-pcm-oss и snd-rawmidi. В случае PCM для snd-pcm-oss доступны следующие параметры:

  dsp_map     PCM device number assigned to /dev/dspX
      (default = 0)
  adsp_map    PCM device number assigned to /dev/adspX
      (default = 1)

Например, чтобы отобразить третье устройство PCM (hw:0,2) на /dev /adsp0, определите так:

options snd-pcm-oss adsp_map=2

Опции принимают массивы. Для настройки второй карты укажите две записи, разделенные запятой. Например, чтобы отобразить третье устройство PCM на второй карте в /dev /adsp1, определите, как показано ниже:

options snd-pcm-oss adsp_map=0,2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .