Můžete zkusit použít apulse:je to minimalistický emulátor pulseaudio vytvořený speciálně pro běh Skype 4.3 s ALSA. I na 64bitovém počítači potřebujete 32bitové sestavení.
Osobně jsem měl problémy s mikrofonem na Ubuntu 14.04, ale pro většinu lidí to funguje dobře.
Chcete-li sestavit apulse
na Ubuntu (a souvisejících distribucích) musíte nainstalovat následující balíčky:pkg-config build-essential cmake libglib2.0-dev:i386 libasound2-dev:i386 gcc-multilib
(pravděpodobně i nějaký jiný).
Proces sestavení víceméně následuje proces popsaný v README:
mkdir build && cd build
PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig CFLAGS=-m32 cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install
Podařilo se mi mít skype 4.3. běží na mém (jinak čistém ALSA) systému. Používám openSuSE 13.1, takže zde mohu pouze popsat, co jsem udělal. Obecnou myšlenkou bylo mít skype spuštěný v jakémsi ‚pulseaudio vězení‘.
Nainstaloval jsem pulseaudio, ale neaktivovalo se to. Zdá se, že nejdůležitější věcí na NEaktivaci pulseaudio je linka
autospawn = no
v /etc/pulse/client.conf.
Dalším přípravným krokem byla úprava /etc/pulse/default.pa podle https://wiki.archlinux.org/index.php/Pulseaudio:
# BEGIN CHANGED: https://wiki.archlinux.org/index.php/Pulseaudio
load-module module-alsa-sink device=dmix
load-module module-alsa-source device=dsnoop
# END CHANGED: https://wiki.archlinux.org/index.php/Pulseaudio
#ORIG: #load-module module-alsa-sink
#ORIG: #load-module module-alsa-source device=hw:1,0
#ORIG: ### Automatically load driver modules depending on the hardware available
#ORIG: .ifexists module-udev-detect.so
#ORIG: load-module module-udev-detect
#ORIG: .else
#ORIG: ### Use the static hardware detection module (for systems that lack udev support)
#ORIG: load-module module-detect
#ORIG: .endif
Pak jsem přidal dva řádky do svého ~/.asoundrc:
pcm.unwantedpulse { type pulse }
ctl.unwantedpulse { type pulse }
Shell skript 'myskype' vypadá takto:
#!/bin/sh
umask 0
cd
# 1. step: start pulseaudio in advance
mkdir .pulse 2> /dev/null
echo 'autospawn = yes' > .pulse/client.conf
aplay -q -D unwantedpulse /usr/share/skype/sounds/ChatOutgoing.wav
# now pulseaudio should be running
# 2. step: important mixer settings - these are hardware dependent and (probably) not really necessary
amixer sset Digital 100% unmute cap
amixer sset Capture 99% unmute cap
# etc etc
pacmd set-source-volume alsa_output.dmix.monitor 0x10000
pacmd set-source-volume alsa_input.dsnoop 0x11000
# 3. step: start skype in background
/usr/bin/skype &
skypepid=$!
sleep 9
# to prevent funny programs like firefox from connecting (or even starting)
# pulseaudio, we clean up rather quickly
rm -rf .pulse
# wait for skype to exit
wait $skypepid
# 4. step: stop pulseaudio
pactl exit
sleep 4
pactl exit
exit 0
Nyní, když spustím 'myskype', skype se spustí v tom 'pulseaudio jail', ale vše ostatní stále používá ALSA.
Měl jsem ten samý problém. Neexistuje žádné řešení, už jsem promarnil dva dny řešením problému. Můžete si nainstalovat pulseaudio a zprovoznit jej se starší verzí alsy. Protože pulseaudio funguje hladce se starými verzemi alsy.
Používám 1.0.16. Zde je skript pro instalaci této verze. S pulseaudio a touto verzí alsy jsem zatím zaznamenal jen jeden problém. Po spuštění jsem musel vždy spouštět pulseaudio ručně, takže jsem jej přidal do spouštěcích aplikací.
A pokud jde o ovládání zvuku, používám místo alsamixeru pavucontrol. Poskytuje vám větší kontrolu nad aplikacemi.
A existují některé aplikace, jako je například Skype, které vás požadují, abyste jí umožnili automaticky upravovat úrovně mixu. Tyto druhy oprávnění způsobují, že se pulseaudio chová podivným způsobem. Nikdy jim to nedovolte, pokud to opravdu nemusíte. Ale to už asi víte.
Každopádně to zkuste, doufám, že vám to bude fungovat. Pro mě to platilo. :)
S pozdravem
Mohi