вторник, 2 сентября 2014 г.

PulseAudio для Skype

Вчера-позавчера Skype 4.2.x окончательно отказался входить в сеть и мне пришлось обновиться до версии 4.3.0.37. Примечательно, что при обновлении теряется возможность работать со звуком через ALSA и теперь для этого нужен PulseAudio. Если при первом запуске не переименовать старый профиль, то skype будет вылетать с ошибкой сегментации, поэтому

$ mv ~/.Skype ~/.Skype~
$ skype

Даже если у вас и не установлен сервер pulseaudio, то скорее всего его клиентская часть libpulse0 у вас уже установлена - остается установить сам pulseaudio, но так чтобы он не поломал работающие с alsa приложения. Для этого подойдет эта инструкция.

Для начала устанавливаем pulseaudio

$ sudo aptitude update
$ sudo aptitude install pulseaudio

Далее настраиваем общесистемную конфигурацию pulseaudio для совместной работы с ALSA.

/etc/pulse/daemon.conf
exit-idle-time = 0 # Exit as soon as unneeded
flat-volumes = yes # Prevent messing with the master volume

/etc/pulse/client.conf
# Applications that uses PulseAudio *directly* will spawn it,
# use it, and pulse will exit itself when done because of the
# exit-idle-time setting in daemon.conf
autospawn = yes

/etc/pulse/default.pa
# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)

.fail
    # Set tsched=0 here if you experience glitchy playback. This will
    # revert back to interrupt-based scheduling and should fix it.
    #
    # Replace the device= part if you want pulse to use a specific device
    # such as "dmix" and "dsnoop" so it doesn't lock an hw: device.
    
    # INPUT/RECORD
    load-module module-alsa-source device="default" tsched=1
    
    # OUTPUT/PLAYBACK
    load-module module-alsa-sink device="default" tsched=1 
    
    # Accept clients -- very important
    load-module module-native-protocol-unix

.nofail
.ifexists module-x11-publish.so
    # Publish to X11 so the clients know how to connect to Pulse. Will
    # clear itself on unload.
    load-module module-x11-publish
.endif

После этого запускаю два экземпляра MPlayer (один через pulseaudio, а второй через ALSA) и убеждаюсь, что все работает и PulseAudio не пытается захватить монопольно звуковое устройство.

$ mplayer -ao pulse music/one.mp3
$ mplayer -ao alsa music/two.mp3

Если в результате оба трека играют одновременно, то можно запускать skype и продолжать радоваться жизни.

Комментариев нет:

Отправить комментарий