LINUX.ORG.RU

SDL app, sound via second card


0

0

Есть две звуковые карты - м-аудио и интегрированная intel. Требуется оставить M-Audio по-умолчанию, но иногда запускать SDL-приложение с выводом звука через intel-hda. Обычно, это делается посредством задания переменной окружения AUDIODEV. Проблема в том, что я не знаю, какое значение необходимо задать. Перепробовал уже все возможные параметры от AUDIODEV=«intel» до «hw:1» и «ALC889A».

В результате получаю

tuxr ~ $ export AUDIODEV=ALC889A
tuxr ~ $ etracer 
Extreme TuxRacer SVN Development --  http://www.extremetuxracer.com 
(c) 2007-2008 The ETRacer team
(c) 2004-2005 The PPRacer team
(c) 1999-2001 Jasmin F. Patry<jfpatry@sunspirestudios.com>
ETRacer comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
See http://www.gnu.org/copyleft/gpl.html for details.

ALSA lib pcm.c:2211:(snd_pcm_open_noupdate) Unknown PCM ALC889A
%%% etracer warning: Warning: Couldn't set 44100 Hz 16-bit audio
  Reason: No available audio device
, что бы не задал.

 % aplay -l 
card 0: Revolution51 [M Audio Revolution-5.1], device 0: ICE1724 [ICE1724]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: Revolution51 [M Audio Revolution-5.1], device 1: ICE1724 IEC958 [ICE1724 IEC958]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Revolution51 [M Audio Revolution-5.1], device 2: ICE1724 Surrounds [ICE1724 Surround PCM]
  Subdevices: 3/3
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
card 1: Intel [HDA Intel], device 0: ALC889A Analog [ALC889A Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: Intel [HDA Intel], device 1: ALC889A Digital [ALC889A Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Что можно сделать?

★★★★

глянь в /dev/ на предмет dsp и dsp[0-1] и в /dev/snd/ разное всякое. у меня карта одна, такчто не знаю, как там будет что.

и пробуй задать всё, что найдёшь - наверно найдёшь подходящее(смотри только от рута не пробуй)

для начала попробуй задать AUDIODEV=«/dev/dsp» если получится - мой совет не безнадёжен

jeuta ★★★★
()

Телепаты в отпуске. Для решения проблемы нужно знать, используется ли pulseaudio и с какими опциями собран SDL.

Если pulseaudio - то помочь не могу. Если SDL собран правильно (с модулем ALSA, включенным по умолчанию - судя по первому блоку вывода, это так) - то AUDIODEV=«default:1» или «pluhgw:1».

AEP ★★★★★
()
Ответ на: комментарий от AEP

>используется ли pulseaudio

Никакого pulseaudio у меня нет и не будет. Просто alsa.

AUDIODEV=«default:1»

Заработало. Большое спасибо!

jeuta: для начала попробуй задать AUDIODEV=«/dev/dsp» если получится - мой совет не безнадёжен

Есть переменная SDL_PATH_DSP. При ее задании /dev/dsp0 или /dev/dsp1 все работает, но через карточку по-умолчанию. Уже пробовал.

TuxR ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.