我一直在使用Skype已经使用 10 多年了,几乎从首次发布开始,我的大多数朋友/家人/同事也在使用它。所以更换 IM 不是一个选择。
Microsoft
最近更改了Skype
协议,强制用户更新到新版本。我将跳过情感部分,即“我对微软有什么看法”。如果这些信息对你来说是新的,请随意阅读:
情况很简单,我必须更新到最新版本,即使我的Linux Mint
机器也是如此。最新版本Linux
是4.3
我遇到的问题是,在 4.3 版中,作为改进,Microsoft
已经放弃了对阿尔萨斯大学:
所以现在Skype
只能与脉冲音频。我很久以前就卸载了,PulseAudio
因为它是无数错误和故障的根源。以下是我遇到的问题列表(不是全部)PulseAudio
:
- 静音按钮可使声音静音,但不能取消静音
- 滑块
Pavucontrol
逐渐将声音增加至约 60%,然后跳至 100% - 播放电影时,暂停按钮会停止视频,但声音会继续播放约 5 秒。
- 在歌曲之间切换或倒带/搜索
Audacious
声音时出现断断续续的情况 - Youtube 声音断断续续
- 进程的 CPU 使用率高
PulseAudio
。 - VirtualBox 客户机中的声音不连贯(仅在 Win XP 上测试)
我不是这句话的作者,但我会在这里引用它,因为我非常同意它:
Linux 中的大部分声音问题都可以通过删除 PulseAudio 来解决
所以现在我面临一个两难的境地:我必须使用Skype
,因为我无法强迫我所有的朋友/家人同事(他们大多是Windows
用户)改用其他 IM 软件。但要继续使用,Skype
我现在需要安装PulseAudio
(感谢微软)。而且,(万岁!)我得到了所有旧的 bug,我非常怀念它们。
有人有解决这个问题的办法吗?有没有办法使用Skype 4.3
?ALSA
或者有没有办法欺骗系统并使用旧版本的 登录Skype
?或者(在最坏的情况下)PulseAudio
只运行Skype
并确保它不会干扰其余应用程序、驱动程序和系统声音?
我正在使用 Linux Mint 13:Maya
任何建议、想法或链接都将不胜感激。
答案1
您可以尝试使用脉冲:它是专为运行带 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
可能还有其他一些)。
构建过程大致遵循 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
答案2
我设法让 skype 4.3 在我的(否则是纯 ALSA)系统上运行。我正在运行 openSuSE 13.1,因此,我只能在这里描述我所做的事情。一般的想法是让 skype 在某种“pulseaudio jail”中运行。
我安装了 pulseaudio 但没有启用它。关于不激活 pulseaudio 最重要的事情似乎是一行
autospawn = no
在 /etc/pulse/client.conf 中。
下一步准备工作是修改 /etc/pulse/default.pahttps://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 }
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
现在,当我启动“myskype”时,skype 将在“pulseaudio jail”中启动,但其他一切仍在使用 ALSA。
答案3
我遇到了同样的问题。没有解决方法,我已经浪费了两天时间来解决这个问题。您可以安装 pulseaudio 并使其与旧版本的 alsa 配合使用。因为 pulseaudio 与旧版本的 alsa 配合使用很顺畅。
我使用的是 1.0.16。这是脚本安装此版本。到目前为止,我只遇到了一个与 pulseaudio 和此版本的 alsa 相关的问题。我必须在启动后手动启动 pulseaudio,因此我将其添加到启动应用程序中。
至于声音控制,我使用 pavucontrol 而不是 alsamixer。它能让你更好地控制应用程序。
有些应用程序(例如 Skype)会要求您允许其自动调整混音器级别。此类权限会导致 pulseaudio 行为异常。除非万不得已,否则切勿允许它们。但我想您已经知道了。
无论如何,请尝试一下,希望它对你有用。对我来说确实如此。:)
此致
莫希
答案4
遗憾的是,如果不使用 pulseaudio,就没有办法绕过这个问题。甚至有一个解决该问题的请愿书。
但我认为微软不会改变这一点。所以你必须决定:使用 PulseAudio 和 Skype 或强迫你的亲戚切换 IM。:S