[Comm] Звук и xmms...

Alexey Morozov =?iso-8859-1?q?alex-altlinux_=CE=C1_idisys=2Eiae=2Ensk=2Esu?=
Пт Мар 12 13:44:54 MSK 2004


On Thu, Mar 11, 2004 at 08:10:46PM -0000, Женя... wrote:
>     Вот незадача - есть игрушка, frozen bubble называется. Играет себе xmms, во время работы которого запускаю оную игрушку. После долгого периода загрузки старик xmms выдаёт "проверьте подключена ли звуковая карта, и вообще - звука нет и не будет", по причине того, что вышеозначенные "лёдные пузыри" вышибают из под него звук начисто.

Как правильно заметили, такое поведение вполне объяснимо, если
предположить, что игра и xmms борятся за право выводить звук. Пока
играет xmms, запрос игры на открытие звукового дивайса блокируется
(вероятно, у Вас используются драйверы ALSA). Между песнями xmms в
дефолтной настройке "отпускает" дивайса, игра получает доступ к звуку
(и продолжает загрузку), а вот xmms говорит, что у него не получилось
открыть звук. дивайс для проигрывания следующей песни.

>     Вроде же не должен никто из под другой программы звук "вышибать"? Не под разными же пользователями их запускать, чего не представляю, кстати, как в X'ах добиться. Может знает кто как устранить сей конфликт?

Разные пользователи здесь абсолютно не при чем. Роль играет только лишь
возможность на Вашей звуковой карте одновременно воспроизводить два
аудиопотока из разных источников. Существующие под линукс драйвера, как
правило, сами по себе не предоставляют возможности программного
микширования, поэтому если Ваша карточка не умеет аппаратно микшировать
звук (или, например, её драйвер не знает про такую возможность карточки),
то Вам придется воспользоваться одним из программных микшеров:

esound
artsd
NAS
или специальной возможностью ALSA (точнее alsalib), называемой dmix
(правда, для того, чтобы им воспользоваться, придется удостовериться,
что программы выводят звук, пользуясь alsalib, а не открывая напрямую
звуковые дивайсы).

В ALT Linux существует специальный скрипт, называемый soundwrapper,
который С НЕКОТОРОЙ ДОЛЕЙ ВЕРОЯТНОСТИ пытается определить, какой
программный микшер у Вас используется (в GNOME это, обычно, esound,
в KDE - artsd) и пытается сделать так, что даже те программы, которые
напрямую лезут к звуковому устройству, пропускаются через подходящий
программный микшер. Чтобы воспользоваться этим враппером нужно запускать
программу не напрямую, а так:

soundwrapper <program name>

Впрочем, бОльшую часть современных программ можно настроить так, чтобы
они пользовались этими программными микшерами. В xmms для этого
необходимо доставить соответствующие пакеты. Сейчас их можно найти в
Сизифе под именами xmms-out-*: xmms-out-alsa, xmms-out-esd,
xmms-out-arts итп.

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/community/attachments/20040312/93a9b1b4/attachment-0003.bin>


Подробная информация о списке рассылки community