Umožnenie viacerým programom prehrávať zvuk v tom istom čase
From ArchWiki
i18n |
---|
English |
Slovensky |
Español |
Contents |
OUT OF DATE. SEE THE ENGLISH VERSION INSTEAD
V Linuxe iba jeden program môže prehrávať zvuk v jednom čase pokiaľ nemáte zvukovú kartu, ktorá podporuje hardwareové mixovanie(všetky/väčšina onboard zvukových čipov _nie_.) alebo ak nie je použitá jedna z doleuvedených metód. Všetky metódy používajú nejakú formu software mixovania. oss2jack a oss/non-free budú pravdepodobne v súčasnosti fungovať najlepšie, keďže nie všetok software ešte bol portovaný do systému alsa. Podobne o niekoľko rokov väčšina aplikácií môže podporovať iba systém alsa.
dmix - softwareové mixovanie systému ALSA.
Majte na pamäti, že táto alternatíva nepracuje s viacerými aplikáciami oss.
Prvý a jediný krok k umožneniu dmix (od 1.0.9 nepotrebujete asound.conf), je zapnúť ho.
Vložte nasledujúce riadky do /etc/asound.conf
#/etc/asound.conf start: pcm.!default { type plug slave.pcm "dmixer" } pcm.dsp0 { type plug slave.pcm "dmixer" } pcm.dmixer { type dmix ipc_key 1024 slave { pcm "hw:0,0" period_time 0 period_size 1024 buffer_size 8192 rate 44100 } bindings { 0 0 1 1 } } ctl.dmixer { type hw card 0 } #end.
A kúzelne, keď sa ďalej program bude snažiť použiť zvuk, dmix sa rozbehne.
Aby väčšina programov používala systém Alsa, ubezpečte sa, že /etc/libao.conf
obsahuje nasledovné.
default_driver=alsa09
Iným programom, ktoré si vyžadujú vlastné zvukové nastavenia, napr., XMMS alebo Mplayer, budete musieť nastaviť špecificky.
Pre mplayer otvorte~/.mplayer/config
a vložte nasledujúci riadok:
ao=alsa
Pre XMMS/Beep Media Player, vojdite do možností and a skontrolujte, že zvukový ovládač (sound driver) je nastavený na Alsa, nie oss.
V XMMS:
- Otvorte XMMS
- Možnosti (Options) -> (nastavenia) preferences.
- Vyberte Výstupný plugin Alsa (Alsa output plugin).
U aplikácií, ktoré neposkytujú ALSA výstup, môžte použiť aoss. Aby ste použli aoss, keď spúšťate program, pridajte mu prefix aoss, napr.:
aoss realplay
ALSA s oss2jack
pacman -Sy jack-audio-connection-kit pacman -R libsamplerate
Tiež možno budete potrebovať odstrániť esd,artsd,polypaudio,atď, keďže ich naozaj nebudete potrebovať pokiaľ aplikácia nemá iba výstup artsd.
pacman -R esd artsd polypaudio
Potom choďte na http://fort.xdas.com/~kor/oss2jack/ (POZNÁMKA: PKGBUILD bude čoskoro v AUR) a stiahnite 'libsamplerate' 'oss2jack' a 'kfusd' a urobte obvyklý budovací proces, ./configure && make && make install. (libsamplerate musí byť kompilované a inštalované pred oss2jack). Môžte vytvoriť PKGBUILD ak je potrebné.
potom:
depmod
otvorte udev.rules
vim /etc/udev/rules.d/udev.rules
a pridajte
SUBSYSTEM=="fusd", NAME="fusd/%k", GROUP="audio", MODE="0666"
niekam.
otvorte udev.permissions
vim /etc/udev/permissions.d/udev.permissions
a pridajte
fusd/control:root:audio:0660 fusd/status:root:audio:0660
niekam.
Pokračujte s:
modprobe kfusd
Vložte kfusd v riadku MODULES v /etc/rc.conf aby sa nahralo pri bootovaní.
Teraz možno budete alebo nebudete musieť reštarovať, v závislosti od toho, či viete ako reštartovať udev. Ja som musel reštartovať.
Teraz nakonfigurujte svoj systém s PAM[[1]]. alebo môžte použiť realtime-lsm modul ako na stránke oss2jack. (poznámka užívateľa: Pretože som nevedel určiť PAM rozbehol som jackd a oss2jack ako root. Ale mohol som rozbehnúť hudobné aplikácie ako xmms a opera flash potom ako bežný užívateľ bez problémov takže sa možno ocitnete v tej istej situácii.)
jackd -R -d alsa -d hw:0 -p 64-r 48000 &
alebo to rozbehnite ako
jackd -R -d alsa -d hw:0 -p 64 -r 44100 &
pre 'perfektnú' kvalitu počúvania materiálu z cd(ako väčšina mp3)
Potom oss2jack.
oss2jack &
Nastavte všetky aplikácie na výstup oss. (Systém alsa nemôže byť použitý ako výstup pretože jackd má exkluzívny prístup na zariadenie alsa..) Potom ste hotoví:) To môže byť použité ako riešenie typického zvukového problému TEAMSPEAK, XMMS, hier , ktorý možno vidieť všade na internete. Viď stránka oss2jack pre viac informácií.
tip 1
Oss2jack môže byť nestabilný pri použití modulu snd-mixer-oss v kerneli alebo zavedeného ako modul, ale snd-mixer-oss vám tiež zmeniť úroveň hlasitosti (v xmms napríklad).Hoci qjackctl vám umožní zmeniť úroveň hlasitosti na báze po aplikáciách, myslím.
tip 2
Pre rozbehnutie jackd pri bootovaní (ako root) nastavte
/etc/conf.d/jack-audio-connection-kit
na
SERVER_PARAMS="-R -s -d alsa" DRIVER_PARAMS="-d hw:0 -p 64 -r 44100"
a vložte 'jack-audio-connection-kit' v riadku DAEMONS v
/etc/rc.conf
Potom otvorte /etc/rc.d/jack-audio-connection-kit a odstráňte -d pred $DRIVER_PARAMS a uložte zmeny.
Hotovo :)
Aby ste rozbehli oss2jack pri bootovaní urobte daemon skript
touch /etc/rc.d/oss2jack
a vložte:
#!/bin/bash . /etc/rc.conf . /etc/rc.d/functions case "$1" in start) stat_busy "Starting oss2jack" /usr/bin/oss2jack & if [ $? -gt 0 ]; then stat_fail else stat_done add_daemon oss2jack fi ;; stop) stat_busy "Stopping oss2jack" killall oss2jack & killall -9 oss2jack if [ $? -gt 0 ]; then stat_fail else stat_done rm_daemon oss2jack fi ;; restart) $0 stop sleep 1 $0 start ;; *) echo "usage: $0 {start|stop|restart}" esac
chmod u+x /etc/rc.d/oss2jack
aby bol spúšťateľný
POZNÁMKA!
kvôli divnej metóde rozbiehania jackd pri bootovaní a nekompatibilite archlinuxu so štartovacím skriptom (alebo kvôli mojím nedostatočným vedomostiam) musíte vložiť niečo medzi jackd a oss2jack v rc.conf aby to pracovalo. napríklad: jack-audio-connection-kit crond oss2jack
Tiež si logicky musíte zapamätať spustiť všetko používajúce zvuk, ako je mpd, opäť po oss2jack.
tu je ako príklad môj súbor rc.conf:
DAEMONS=(syslog-ng !pcmcia network adsl alsa netfs jack-audio-connection-kit crond oss2jack mpd)
OSS/Non-Free - www.opensound.com
Tieto ovládače poskytujú transparentné softwareové mixovanie, podobnou metódou ako dmix. Tiež do istej miery podporuje systém ALSA. Pokiaľ si nekúpite tieto ovládače, budete sa musieť dívať na nag-screen vždy, keď sa prihlásite and preinštalovávať ovládače každý 4ty mesiac. Aj keď sú to excelentné ovládače.
Predtým, než ich nainštalujete, aby pracovali s Archom, musíte urobiť nasledovné:
cd /sbin ln -s /bin/lsmod
To je kvôli tomu, že OSS/Non-Free hľadá v sbin lsmod keď arch ho vkladá do /bin/.
Keď ho stiahnete z OpenSound.com, vyberte možnosť noregparm, pokiaľ viete, že váš kernel nie je nakonfigurovaný ináč. Predvolené nastavenie Arch je noregparm.
ak nemáte hardwareové mixovanie, nezabudnite rozbehnúť soundconf-> Kliknite 'Add' a pridajte 4Front Virtual mixer.
Aby s týmto niektoré hry spolupracovali, ako je ET alebo Quake3,
# cd /dev # rm dsp # ln -s dsp7 dsp
Ak máte nejaké otázky, skúšajte a hľadajte alebo ich píšte na fórum na: http://www.4front-tech.com/forum/ Tiež si určite prečítajte relevantnú dokumentáciu ak chcete napríklad zvýšiť kvalitu zvuku atď..)
OSS/Free
Ovládače Free OSS, free speech and beer, sú v distribúcii arch, a ak viete, čo je váš ovládač, kľudne ho použite. Tieto nepodporujú žiadnu zabudovanú formu softwareového mixovania ako podporuje ALSA, ani programy, ktoré mmajú výstup cez systém ALSA. Používajú sa málo. Ale mali by ste byť schopní rozbehnúť metódu oss2jack, ak vám ALSA spôsobuje množstvo problémov.
Kúpte alebo nájdite starú zvukovú kartu, ktorá podporuje hardwareové mixovanie
ako starý sb16, tie myslím majú hw mixovanie :) Len sa uistite, že používa port ako vaša matičná doska. (ako je PCI port)
Staré aleo odradzujúce metódy
aRTS - softwareové mixovanie KDE Project
pacman -S arts
ak používate KDE, aRTS sa rozbehne automaticky. Ak nepoužívate KDE a chcete, aby systém arts nabehol, keď naštartujete počítač, vložte tento riadok do systémového súboru ako je /etc/rc.local:
/opt/kde/bin/artsd -a oss &
Aby ste počuli hudbu, nastavte svoje audio výstupy na arts.
Pre aplikácie, ktoré neposkytujú výstup aRTS, spúšťajte ich s prefixom artsdsp, eg:
/opt/kde/bin/artsdsp -m xmms alebo /opt/kde/bin/artsdsp -m et
Ak máte problémy, skúste iné argumenty, ktoré nájdete pomocou nižšie uvedených príkazov.
artsd --help artsdsp --help
Polypaudio - http://0pointer.de/lennart/projects/polypaudio/
polypaudio je menej intenzívna implementácia servra zvukového mixovania než ESD a ARTS ale nemá také kvalitné 3D zvukové efekty a pod. ako arts. Ubuntu Linux používa tento server namiesto ESD.
NAS http://radscan.com/nas.html
Unikátne črty. Pozrite si readme. Má zabudované mixovanie.
Môžte ho nastaviť, aby fungoval s libaudioss, takže skoro každá aplikácia s výstupom OSS bude fungovať aj s týmto, a bez "oneskorovania". Ale nemá podporu mmap, a to spôsobuje, že nepracuje s množstvom hier.
ESD - http://www.tux.org/~ricdude/EsounD.html
ESD nemoderné riešenie, ktoré nebolo updateované niekoľko rokov, ale má ecxcelentnú podporu aplikácií pri použití v rámci desktopu pracuje dobre.
USound - http://mattcamp.paunix.org/usound/
USound je podobný Enlightened Sound Daemon (EsounD), ale ako meno naznačuje, USound má za cieľ byť užitočnejší, najmä pre aplikácie desktopu and multimédií. V čase písania (0.2) podporoval libao, mplayer, madplay a Speak Freely.