14

Я использую Skype уже более 10 лет, почти с момента первого выпуска, и большинство моих друзей / родственников / коллег тоже используют его. Так что переключение чата не вариант.

Microsoft недавно изменила протокол Skype , чтобы заставить пользователей обновиться до более новой версии. Я пропущу эмоциональную часть, известную как "Что я думаю о MicroSoft". Если эта информация является новой для вас, не стесняйтесь читать:

Ситуация проста, я должен обновить до последней версии даже на моей машине Linux Mint . Самая новая версия для Linux - 4.3

Проблема, с которой я столкнулся, заключается в том, что в версии 4.3 в рамках улучшений Microsoft прекратила поддержку ALSA:

Теперь Skype можно использовать только с PulseAudio. Я давно удалил PulseAudio потому что он был источником бесчисленных ошибок и глюков. Вот список (не полный) проблем, которые я испытывал с PulseAudio:

  • Кнопка отключения звука отключает звук, но не включает его
  • Ползунок Pavucontrol постепенно увеличивает звук до ~ 60%, затем просто прыгает до 100%
  • При воспроизведении фильмов кнопки паузы останавливают видео, но звук продолжает воспроизводиться в течение ~ 5 секунд.
  • При переключении между песнями или перемотке / поиске в Audacious звук становится прерывистым
  • Прерывистый звук в Youtube
  • Высокая загрузка ЦП процессом PulseAudio .
  • Звук прерывистый в гостевой системе VirtualBox (тестируется только на Win XP)

Я не являюсь автором фразы, но я процитирую ее здесь, потому что я полностью согласен с ней:

Большинство проблем со звуком в Linux можно решить, удалив PulseAudio

Так что теперь передо мной стоит дилемма: мне приходится использовать Skype , потому что я не могу заставить всех своих друзей / коллег по семье, которые в основном являются пользователями Windows переключиться на другое программное обеспечение для обмена мгновенными сообщениями. Но для продолжения использования Skype мне теперь нужно установить PulseAudio (спасибо Microsoft). И (ура!) Я получаю все старые ошибки, которые мне так не хватало.

У кого-нибудь есть обходной путь к этой проблеме? Есть ли способ использовать Skype 4.3 с ALSA? Или есть способ обмануть систему и войти в систему со старой версией Skype? Или, может быть (в худшем случае) запустить PulseAudio только для Skype и убедиться, что он не мешает остальным приложениям, драйверам и системному звуку?

Я использую Linux Mint 13: Maya

Любые предложения, мысли, ссылки будут высоко ценится.

4 ответа4

12

Вы можете попробовать использовать apulse: это минималистичный эмулятор pulseaudio, созданный специально для запуска Skype 4.3 с ALSA. Вам нужна 32-битная сборка даже на 64-битной машине.

У меня лично были проблемы с микрофоном на Ubuntu 14.04, но для большинства людей он работает нормально.


Чтобы собрать apulse в Ubuntu (и связанных дистрибутивах), вы должны установить следующие пакеты: pkg-config build-essential cmake libglib2.0-dev:i386 libasound2-dev:i386 gcc-multilib (возможно, и другие).

Процесс сборки более или менее соответствует описанному в 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
5

Мне удалось иметь скайп 4.3. работает на моей (иначе чистой ALSA) системе. Я использую openSuSE 13.1, поэтому могу описать только то, что я здесь сделал. Основная идея заключалась в том, чтобы скайп работал в своего рода «пульсовой тюрьме».

Я установил pulseaudio, но не активировал его. Самая важная вещь в НЕ активировании pulseaudio - это линия

autospawn = no

в /etc/pulse/client.conf.

Следующим этапом подготовки было изменение /etc/pulse/default.pa в соответствии с 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

Затем я добавил две строки в мой ~/.asoundrc:

pcm.unwantedpulse { type pulse }
ctl.unwantedpulse { type pulse }

Сценарий оболочки «myskype» выглядит так:

#!/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

Теперь, когда я запускаю «myskype», скайп будет запущен в этой «pulaudio jail», но все остальное все еще использует ALSA.

3

У меня была такая же проблема. Обходного пути нет, я уже потратил два дня, чтобы решить проблему. Вы можете установить pulseaudio и заставить его работать со старой версией alsa. Потому что pulseaudio работает без проблем со старыми версиями alsa.

Я использую 1.0.16. Вот скрипт для установки этой версии. До сих пор у меня была только одна проблема с pulseaudio и этой версией alsa. Мне всегда приходилось запускать pulseaudio вручную после запуска, поэтому я добавил его в приложения запуска.

Что касается управления звуком, я использую pavucontrol вместо alsamixer. Это дает вам больше контроля над приложениями.

И есть некоторые приложения, такие как, например, Skype, который просит вас автоматически настраивать уровни микшера. Такого рода привилегии приводят к тому, что pulseaudio ведет себя странным образом. Никогда не позволяйте им, если вы действительно не должны. Но я думаю, вы уже это знаете.

В любом случае, попробуйте, надеюсь, это сработает для вас. Это для меня. :)

С уважением

Мохи

1

К сожалению, нет способа обойти эту проблему без использования pulseaudio. Есть даже петиция, которая решает эту проблему.

Но я думаю, что Microsoft не изменит это. Поэтому вам нужно решить: использовать PulseAudio и Skype или заставить своих родственников переключать мгновенные сообщения. : S

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .