The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Настройка dmix для одновременного проигрывания звука из разных программ (mixer sound multimedia linux alsa)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: mixer, sound, multimedia, linux, alsa,  (найти похожие документы)
From: Cheer Igor <cheer.igor@gmail.com.> Date: Mon, 27 Feb 2007 14:31:37 +0000 (UTC) Subject: Настройка dmix для одновременного проигрывания звука из разных программ Оригинал: http://lice.wordpress.com/2007/02/11/dmix-setup/ Наверное, у многих людей в своё время была такая проблема: звук проигрывался только одним приложением. Например, при прослушивании музыки не было звуков в ppracer или не было звука от jabber клиента при приходящем сообщении. Происходит это по той причине, что звуковая карта не поддерживает аппаратное микширование (например, до покупки ноутбука я об этой проблеме и не догадывался, оказывается, встроенная карточка на Asus A8N имеет аппаратное микширование). В настоящее время практически все используют ALSA, а для софтверного микширования - dmix. О них и пойдёт речь. С настройкой звука, наверное, довольно легко разобраться, так что предположим, что звук уже работает, но только с одним приложением одновременно. Надо поставить пакет alsa-oss (по крайней мере так он называется в ArchLinux) и настроить несколько конфигурационных файлов. /etc/asound.conf: pcm.ossmix { type dmix ipc_key 1024 # must be unique! ipc_key_add_uid false # let multiple users share ipc_perm 0666 # IPC permissions for multi-user sharing (octal, default 0600) slave { pcm "hw:0,0'' # you cannot use a "plug" device here, darn. period_time 0 period_size 2048 # must be power of 2 buffer_size 32768 # dito. It #rate 44100 #format "S32_LE" #periods 128 # dito. #rate 8000 # with rate 8000 you *will* hear, # if ossmix is used :) } # bindings are cool. This says, that only the first # two channels are to be used by dmix, which is # enough for (most) oss apps and also lets # multichannel chios work much faster: bindings { 0 0 # from 0 => to 0 1 1 # from 1 => to 1 } } pcm.dsp0 { type plug slave.pcm "ossmix" # use our new PCM here } # mixer0 like above ctl.mixer0 { type hw card 0 } # You may want to make your new ossmix the default for alsa. # If your alsa programs are complaining that they can't open # your sound devices, try uncommenting this next line pcm.default pcm.dsp0 /etc/libao.conf: default_driver=alsa09 #может быть, alsa10, но у меня работает только с 09 Теперь два mpg321 могут использовать вывод одновременно, но некоторые приложения ещё нуждаются в дополнительной настройке. Некоторые из них я опишу: mpd мне потребовалось вписать в /etc/mpd.conf: audio_output { type "alsa" name "My ALSA Device" device "hw:0,0'' # потребовалось прямо указать device # format "44100:16:2'' # optional } и в секции микширования: mixer_type "alsa" mixer_device "dmix" mixer_control "PCM" приложения, использующие openal: впишем в ~/.openalrc или в /etc/openalrc: (define devices `(alsa)) (define speaker-num 2) (define alsa-out-device "default") (define sampling-rate 44100) Что касается большинства остальных приложений, достаточно просто указать в устройстве вывода ALSA. Также на сайте используемой программы обычно есть описание настройки софтверного микширования. Говорят, что dmix понижает качество вывода звука. Поскольку в этом деле я невеликий специалист (да на ноутбуке качество звука при стандартных колонках тоже неважное), то сказать могу только то, что стало тише, но мне всё равно хватает =) Полезные ссылки: Dmix ALSA wiki настройка микширования с ArchLinux wiki настройка ALSA (с dmix) с gentoo wiki P.S. во второй ссылке описаны и другие способы микширования. По-хорошему, надо бы мне эту статью перевести (русскоязычное ArchWiki - в массы!), но пока нет времени.

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру