观看视频/使用语音 IP 后没有声音

观看视频/使用语音 IP 后没有声音

我的计算机上有一个非常烦人的问题,我无法解决。

我在两个发行版中遇到了同样的问题,首先是 Ubuntu,现在是 Fedora。

我的电脑过去在 Ubuntu 下运行良好,但在更新一些内核后声音停止工作。我迁移到 Fedora 21,因为我找不到解决方案,令人惊讶的是,我遇到了同样的问题。

所以我猜这与某些硬件/内核不兼容有关。

问题是,在使用语音 IP(例如 Skype)或通过浏览器(Firefox 或 Chrome)观看视频后几分钟,我的系统声音就会静音。

如果我重新启动,我就会再次有声音。但是,例如,一旦我开始 Skype 对话,声音就会停止工作。我开始了teleconf,但几分钟后我没有声音。但是,麦克风继续工作。

此问题的第二个影响是,一旦静音(因为观看视频或使用语音 IP 协议),浏览器视频(例如来自 YouTube)将无法正常显示。它们以慢动作显示,中间有几毫秒的中断。

我更新了 Fedora 21,显卡是 NVIDIA GeForce 9500 GT(使用免费驱动程序)。

我尝试了多种方法(pulseaudio -kalsamixer等),但没有成功。我真的很感激任何帮助。如果您需要一些额外信息,请告诉我?

额外信息:

我的音频设备列于此处:

$ /sbin/lsmod | grep snd

snd_hda_codec_realtek    90112  0 
snd_hda_codec_generic    73728  2 snd_hda_codec_realtek
snd_hda_intel          32768  4 
snd_hda_controller     32768  1 snd_hda_intel
snd_hda_codec         110592  4         snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller
snd_hda_core           36864  4     snd_hda_codec_realtek,snd_hda_codec_generic,snd_hda_codec,snd_hda_controller
snd_hwdep              16384  1 snd_hda_codec
snd_seq                69632  0 
snd_seq_device         16384  1 snd_seq
snd_pcm               118784  3     snd_hda_codec,snd_hda_intel,snd_hda_controller
snd_timer              32768  2 snd_pcm,snd_seq
snd                    81920  17             snd_hda_codec_realtek,snd_hwdep,snd_timer,snd_pcm,snd_seq,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_seq_device
soundcore              16384  1 snd

$ lspci | grep Audio

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)

硬件设备:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: MID [HDA Intel MID], device 0: ID 889 Analog [ID 889 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: MID [HDA Intel MID], device 1: ID 889 Digital [ID 889 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

我也尝试过使用替代桌面(我使用的是 gnome3),例如 xfce 或 cinnamon,但它不起作用。事情也一样。

输入有或没有声音的pulsaudio 会给我:

E: [pulseaudio] pid.c: Daemon already running.
E: [pulseaudio] main.c: pa_pid_file_create() failed.

同样的更多信息:

$ modinfo snd-hda-intel

filename:       /lib/modules/4.1.13-100.fc21.x86_64/kernel/sound/pci/hda/snd-hda-intel.ko.xz
description:    Intel HDA driver
license:        GPL
depends:        snd-hda-controller,snd-hda-codec,snd-pcm,snd
intree:         Y
vermagic:       4.1.13-100.fc21.x86_64 SMP mod_unload 
signer:         Fedora kernel signing key
sig_key:        F3:54:63:EF:F6:27:ED:52:16:79:72:BC:8F:3C:71:2E:D1:C9:E4:F0
sig_hashalgo:   sha256
parm:           index:Index value for Intel HD audio interface. (array of int)
parm:           id:ID string for Intel HD audio interface. (array of charp)
parm:           enable:Enable Intel HD audio interface. (array of bool)
parm:           model:Use the given board model. (array of charp)
parm:           position_fix:DMA pointer read method.(-1 = system    default, 0 = auto, 1 = LPIB, 2 = POSBUF, 3 = VIACOMBO, 4 = COMBO). (array of int)
parm:           bdl_pos_adj:BDL position adjustment offset. (array of int)
parm:           probe_mask:Bitmask to probe codecs (default = -1). (array of int)
parm:           probe_only:Only probing and no codec initialization. (array of int)
parm:           jackpoll_ms:Ms between polling for jack events (default = 0, using unsol events only) (array of int)
parm:           single_cmd:Use single command to communicate with codecs (for debugging only). (bool)
parm:           enable_msi:Enable Message Signaled Interrupt (MSI) (bint)
parm:           patch:Patch file for Intel HD audio interface. (array of charp)
parm:           beep_mode:Select HDA Beep registration mode (0=off, 1=on) (default=1). (array of bool)
parm:           power_save:Automatic power-saving timeout (in second, 0 = disable). (xint)
parm:           power_save_controller:Reset controller in power save mode. (bool)
parm:           align_buffer_size:Force buffer and period sizes to be multiple of 128 bytes. (bint)
parm:           snoop:Enable/disable snooping (bint)

如果我运行 alsamixer,默认卡是 Pulseaudio 和芯片 Pulseaudio。如果我用F6换卡,选择HDA Intel MID,那么芯片是Realtek ID 889。即使系统声音不起作用,也没有任何静音。

答案1

有几个领域您可以尝试。我使用 Debian,但总体思路也应该适用于您的系统。

  • 您是否尝试过名为 的实用程序pavucontrol?它可以让您更好地了解 Pulse 设置。
  • 默认情况下,Pulse 服务器将重生,因此被杀死的服务器实例pulseaudio -k将被另一个实例替换。要检查您的问题在真正停止 Pulse 后是否有所改善,请修改/etc/pulse/client.conf~/.config/pulse/client.conf
    from
    autospawn = yes

    autospawn = no
    然后停止 Pulse。
  • 您可能需要按照中描述的步骤进行操作https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting#Audio_qualitysnd_hda_intel,特别是在模块解决方法部分。
  • 最后,我建议一些不太直观的建议:使用非免费版本更新驱动程序,包括视频驱动程序。 Nvidia 发布了可从其网站下载的 Linux 驱动程序,但您应该能够通过您的发行版获取它们。在 Debian 上,我总是追加contrib non-free到我的/etc/apt/sources.list行中,以便非自由软件(如固件和 Nvidia 驱动程序)定期更新。就我而言,相关行是:
    deb http://pubmirrors.dal.corespace.com/debian/ testing main contrib non-free

相关内容