跳到内容

在 Linux/Pulse Audio 上配置声音/疑难解答

来自维基教科书,开放书籍,开放世界

本文档包含您在使用 PulseAudio 时可能遇到的问题。

详细错误捕获

[编辑 | 编辑源代码]

想知道 PulseAudio 在做什么?试试以下方法。

 $ pulseaudio -v --log-target=stderr

错误和解决方案

[编辑 | 编辑源代码]

错误的采样频率

[编辑 | 编辑源代码]

如果您设置了错误的采样频率,您可能会在启动 PulseAudio 时遇到类似这样的错误

$ pulseaudio
W: alsa-util.c: Device HDMI doesn't support 44800 Hz, changed to 48000 Hz.

解决方案

[编辑 | 编辑源代码]

在以下文件中为 PulseAudio 模块显式设置速率/etc/pulse/default.pa.

load-module module-alsa-sink device=HDMI rate=48000

声音停止工作

[编辑 | 编辑源代码]

您在唤醒计算机或插入耳机后突然没有声音,但 alsamixer 显示声音已启用且音量可以调高。

解决方案

[编辑 | 编辑源代码]

检查 pacmd 命令,看您的声音是否静音

$ pacmd
Welcome to PulseAudio! Use "help" for usage information.
>>> list-sinks
2 sink(s) available.
    index: 0
	name: <alsa_output.pci-0000_01_05.1.hdmi-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: SUSPENDED
	suspend cause: IDLE 
	priority: 9050
	volume: 0: 100% 1: 100%
	        0: 0,00 dB 1: 0,00 dB
	        balance 0,00
	base volume: 100%
	             0,00 dB
	volume steps: 65537
	muted: no

     ...

  * index: 1
	name: <alsa_output.pci-0000_00_14.2.analog-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: RUNNING
	suspend cause: 
	priority: 9959
	volume: 0: 100% 1: 100%
	        0: 0,00 dB 1: 0,00 dB
	        balance 0,00
	base volume:  63%
	             -12,00 dB
	volume steps: 65537
	muted: yes

第二个接收器已静音,因此我们需要将其取消静音

>>> set-sink-mute 1 false

另外,可能需要重新启动 pulseaudio

$ sudo /etc/init.d/pulseaudio restart

注意:如果您使用浏览器(如 YouTube)中的 Flash 播放视频,您可以启用声音,但当您退出 pacmd 时,声音会停止,当您尝试再次输入 pacmd 时,会显示 pulseaudio 未在会话中运行,在这种情况下,刷新带有视频的页面可以解决问题。

华夏公益教科书