跳到內容

在 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 未在會話中執行,在這種情況下,重新整理帶有影片的頁面可以解決問題。

華夏公益教科書