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


15

自最初发布以来,我已经使用Skype已有10多年了,我的大多数朋友/家人/同事也都在使用它。因此,切换IM是不可行的。

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

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

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

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

  • 静音按钮可静音,但不会取消静音
  • 滑块的Pavucontrol逐渐将声音增加到〜60%,然后跳到100%
  • 播放电影时,暂停按钮会停止播放视频,但声音会继续播放约5秒钟。
  • 在歌曲之间切换或倒退/寻找Audacious声音时变得断断续续
  • YouTube中声音不稳
  • PulseAudio进程的CPU使用率很高。
  • VirtualBox guest虚拟机中声音不稳定(仅在Win XP下测试)

我不是该短语的作者,但我将在此处引用它,因为我非常同意:

可以通过删除PulseAudio解决Linux中大多数声音问题

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

有没有人解决此问题?有没有办法使用的方式Skype 4.3ALSA?还是有办法欺骗系统并使用旧版本的登录Skype?或者,也许(在最坏的情况下)运行PulseAudio只是Skype并确保它不会与应用程序,驱动程序和系统声音干扰休息?

我正在使用Linux Mint 13:Maya

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


出于这个原因,我一直在考虑设置虚拟机。您认为这是一个合理的解决方法吗?
Hastur 2014年

嗯...对我来说不合理。但是,这一种解决方法,它可能对遇到相同问题的其他人很有用。
Art Gertner 2014年


@Fegnoid,谢谢,这看起来像我要的东西。我将在周末尝试测试此解决方案,并使用结果更新我的帖子!
Art Gertner 2014年

为什么您不能继续使用Skype 4.2.0.11,而您使用的是哪个Linux发行版?
harrymc 2014年

Answers:


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可能还会安装其他软件包)。

生成过程或多或少遵循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

努力从源头上构建它。你可以共享二进制文件吗?
Art Gertner 2014年

1
@smc:这里是二进制文件归档和这里是快速和肮脏的检查安装生产包装。我还用构建说明更新了我的帖子。
2014年

1
只是更新:几个月来,我在32位Linux Mint上使用了pulse。
发挥

5

我设法有了Skype 4.3。在我的(否则为纯ALSA)系统上运行。我正在运行openSuSE 13.1,因此,我只能描述我在这里所做的事情。通常的想法是让Skype运行在一种“ pulseaudio监狱”中。

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

autospawn = no

在/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

然后我在〜/ .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监狱”中启动,但其他所有内容仍在使用ALSA。


3

我有同样的问题。没有解决方法,我已经浪费了两天时间来解决问题。您可以安装pulseaudio并使其与较旧版本的alsa一起使用。因为pulseaudio在alsa的旧版本中可以正常运行。

我正在使用1.0.16。这是安装此版本的脚本。到目前为止,我对Pulseaudio和此版本的alsa都只遇到过一个问题。我必须始终在启动后手动启动pulseaudio,因此我将其添加到启动应用程序中。

就声音控制而言,我使用pavucontrol代替alsamixer。它使您可以更好地控制应用程序。

还有一些应用程序,例如Skype,要求您允许它自动调整混音器电平。这些特权导致Pulseaudio行为异常。除非确实需要,否则绝对不要允许它们。但是我想你已经知道了。

无论如何,请尝试一下,希望它对您有用。它对我有用。:)

最好的祝福

莫希


当我进入脚本部分以配置驱动程序时,sudo ./configure --with-cards=hda-intel --with-kernel=/usr/src/linux-headers-$(uname -r) sudo make我得到“文件/usr/src/linux-headers-3.2.0-23/include/linux/version.h不存在。请使用完整的内核资源供您分发”,即使我使用apt-get来获取内核头文件。有任何想法吗?编辑:我做了一个定位,找到了version.h,现在找不到autoconf.h
EdgeCaseBerg 2014年

我正在运行Alsa 1.0.25和Pulseaudio 1.1,尚未重启,但刚刚安装的Pulse已按预期修复了Skype,我正在等待问题开始出现。如果使用这两个版本有任何中断,我将进行更新。
EdgeCaseBerg 2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.