Skype 4.3 没有 PulseAudio,只有 ALSA。有什么选择吗?

Art*_*ner 15 audio linux skype pulse-audio alsa

我已经使用Skype超过 10 年了,几乎从最初的版本开始,我的大多数朋友/家人/同事也在使用它。所以切换 IM 不是一种选择。

Microsoft最近更改了Skype协议以强制用户更新到更新版本。我将跳过情感部分,即“我对微软有何看法”。如果此信息对您来说是新信息,请随时阅读:

情况很简单,即使在我的Linux Mint机器上,我也必须更新到最新版本。最新版本Linux4.3

我面临的问题是,在 v 4.3 作为改进的一部分,Microsoft已经放弃了对ALSA的支持:

所以现在Skype只能与PulseAudio一起使用。我PulseAudio很久以前就卸载了,因为它是无数错误和故障的根源。这是我遇到的问题的列表(不是完整的)PulseAudio

  • 静音按钮使声音静音但不会取消静音
  • 的滑块Pavucontrol逐渐将声音增加到 ~60%,然后跳到 100%
  • 播放电影时,暂停按钮会停止视频,但声音会继续播放约 5 秒。
  • 当在歌曲之间切换或倒带/寻找Audacious声音变得断断续续时
  • Youtube 中断断续续的声音
  • PulseAudio进程的高 CPU 使用率。
  • VirtualBox 来宾中的声音断断续续(仅使用 win XP 进行测试)

我不是这句话的作者,但我会在这里引用它,因为我非常同意:

Linux 中的大部分声音问题都可以通过删除 PulseAudio 来解决

所以现在我面临两难的境地:我必须使用Skype,因为我不能强迫所有主要是Windows用户的朋友/家人同事切换到其他IM软件。但是要继续使用Skype我现在需要安装PulseAudio(感谢微软)。而且,(万岁!)我得到了所有我错过的旧错误。

有没有人有解决这个问题的方法?有没有办法使用的方式Skype 4.3ALSA?或者有没有办法欺骗系统并使用旧版本登录Skype?或者(在最坏的情况下)运行PulseAudio只是为了Skype确保它不会干扰其他应用程序、驱动程序和系统声音?

我正在使用 Linux Mint 13:Maya

任何建议,想法,链接将不胜感激。

ala*_*and 12

您可以尝试使用apulse:它是专为使用 ALSA 运行 Skype 4.3 而制作的简约的pulseaudio 模拟器。即使在 64 位机器上,您也需要 32 位版本。

我个人在 Ubuntu 14.04 上遇到了麦克风问题,但对大多数人来说它工作正常。


apulse在 Ubuntu(和相关发行版)上构建,您必须安装以下软件包:(也pkg-config build-essential cmake libglib2.0-dev:i386 libasound2-dev:i386 gcc-multilib可能是其他一些软件包)。

构建过程或多或少遵循自述文件中描述的过程:

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
Run Code Online (Sandbox Code Playgroud)


小智 5

我设法拥有Skype 4.3。在我的(否则纯 ALSA)系统上运行。我正在运行 openSuSE 13.1,所以,我只能描述我在这里做了什么。一般的想法是让Skype在一种“脉冲音频监狱”中运行。

我安装了pulseaudio但没有激活它。不激活pulseaudio最重要的事情似乎是一条线

autospawn = no
Run Code Online (Sandbox Code Playgroud)

在 /etc/pulse/client.conf 中。

接下来的准备步骤是根据https://wiki.archlinux.org/index.php/Pulseaudio修改 /etc/pulse/default.pa :

# 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
Run Code Online (Sandbox Code Playgroud)

然后我在 ~/.asoundrc 中添加了两行:

pcm.unwantedpulse { type pulse }
ctl.unwantedpulse { type pulse }
Run Code Online (Sandbox Code Playgroud)

shell 脚本“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
Run Code Online (Sandbox Code Playgroud)

现在,当我启动 'myskype' 时,Skype 将在那个 'pulseaudio jail' 中启动,但其他一切仍在使用 ALSA。