在 Fedora 16 下,我在這台 Lenovo T520 上聽不到任何聲音。 alsamixer 中的所有內容均為 100%(pulsaudio 和 card)。我在筆記型電腦上安裝了 Windows 7,以檢查 Windows 上是否有相同的問題,但事實並非如此。
有誰知道如何處理這個問題?我已經被這個問題困擾了快一年了,但現在隨著東海岸的熱浪,我必須開足馬力運行空調,但開空調時我聽不到任何聲音。
大膽地說,我只需混合音量就可以從揚聲器中獲得高音量。有沒有辦法在 PulseAudio 和 alsa 之間運行軟體擴大機來調高音量,或者可以在 alsactl.conf 中執行某些操作以使卡在較低點標準化音量等級?由於這款筆記型電腦在 Linux 用戶中很常見,我希望有人能提出一個解決方案。
答案1
我過去曾這樣做過,並且在提高音量方面取得了相當大的成功。唯一的問題是,如果您將其調低,則必須返回揚聲器圖示下的系統首選項,將其調回 150%。
但是,透過以下步驟,從重新啟動到重新啟動應保持「黏性」。
調高音量
如果您右鍵單擊揚聲器小程式並選擇聲音首選項,您將開啟此對話方塊。
確認並儲存更改
將音量一直調到 150%。一旦打開,您就可以關閉該對話框。如果您進入 shell 並鍵入命令,amixer
您可以確認這一點:
$ amixer
Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 65536
Mono:
Front Left: Playback 98304 [150%] [on]
Front Right: Playback 98304 [150%] [on]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch cswitch-joined penum
Capture channels: Front Left - Front Right
Limits: Capture 0 - 65536
Front Left: Capture 65536 [100%] [off]
Front Right: Capture 65536 [100%] [off]
如果您隨後執行此命令,則可以儲存此狀態,以便下次重新啟動系統時,它將成為預設狀態。
# saves settings
$ sudo alsactl store
# confirm file's created
$ ls -l /etc/asound.state
-rw-r--r-- 1 root root 4761 Oct 5 16:54 /etc/asound.state
與 amixer 相關的其他東西
您也可以使用該命令amixer
來更改音量。
100%
$ amixer sset Master 100% | grep Front
Playback channels: Front Left - Front Right
Front Left: Playback 65536 [100%] [on]
Front Right: Playback 65536 [100%] [on]
150%
$ amixer sset Master 150% | grep Front
Playback channels: Front Left - Front Right
Front Left: Playback 65536 [100%] [on]
Front Right: Playback 65536 [100%] [on]
筆記:然而,此方法不允許您達到 100% 以上。
沉默的
$ amixer sset Master muted | grep Front
Playback channels: Front Left - Front Right
Front Left: Playback 65536 [100%] [off]
Front Right: Playback 65536 [100%] [off]
取消靜音
$ amixer sset Master unmuted | grep Front
Playback channels: Front Left - Front Right
Front Left: Playback 65536 [100%] [on]
Front Right: Playback 65536 [100%] [on]
答案2
據我所知,你可以使用軟捲ALSA 插件並設置max_dB
價值。一些方向:
pcm.!default {
type plug
slave.pcm "softvol"
}
pcm.softvol {
type softvol
slave {
pcm "hw:0,0"
# pcm "dmix" or this or the like.
}
control {
name "PreAmp"
card 0
}
min_dB -5.0
max_dB 30.0 # 50.0 is max
resolution 16
}
或許有一些提示也在這裡。然後重新加載 alsa,播放例如speaker-test -c2 -twav
以使其加載,然後在 alsamixer 中調整擴大機。
如果想關閉 PulseAudio,請記得停用autospawn
。
echo autospawn=no >> ~/.pulse/client.conf
或在全域中取消註釋client.conf
(在/etc/pulse/
等等)。 (也看到一些替換daemon-binary
為/bin/true
。)
然而,使用 pactl 等可能會更可取。
從命令列說:
pactl set-sink-volume 0 65536 # 100%
pactl set-sink-volume 0 98304 # 150%
pactl set-sink-volume 0 131072 # 200%
| |
| +----- Based on volume steps
+------- Sink number
要列出並識別接收器,請說:
pactl list sinks
pacmd list-sinks # a bit more verbose, and list "volume steps"
一如既往,man
和pacmd -h
。pactl -h
若要將預設音量設定為 150%,請編輯./pulse/default.pa
並新增以下行:
set-sink-volume 0 98304
|
+-- (Use full name if one e.g. have multiple USB-soundcards.)
為了方便起見,請新增別名或簡短腳本以在需要時設定此值。
要重新啟動 PA pulseaudio -k
,請說 和pulseaudio --start
。
另一種選擇是研究插件,例如 LADSPA 和SHW在阿薩斯或者脈衝音頻。
編輯:
好的。來思考一下。這可能是合適的。(我不知道我第一次是怎麼逃出來的。)
- 在
default.pa
添加一個脈衝音訊模組來自設備驅動程式。 - 重新啟動脈衝音頻。
- 打開聲音設定並設定音量原來的水槽例如150%。 (或透過命令列執行此操作或
default.pa
如上所述進行預設。) - 選擇新模組/接收器作為聲音輸出裝置。
使用時這將為您提供 150% 和 100%普通的音量計。
範例 – 使用module-remap-sink
:
做不是正如文檔所說,取消註釋。
在default.pa
:
.ifexists module-remap-sink.so
# Using remap-sink as dummy, not doing any re-mapping.
load-module module-remap-sink sink_name=VolDummy master=0 sink_properties=device.description=CrankThaVolume
.fail
.endif
# Set it as default:
set-default-sink VolDummy
然後重新啟動 Pulse Audio 以註冊新模組。
發行:
$ pactl list modules # Should show "Usage counter: 1" for the module in question.
$ pactl list sinks
應該顯示一個新水槽。您仍然可以調高音量掌握透過使用命令列和/或向default.pa
.
答案3
從命令列運行 alsamixer 時,請務必使用開關運行,--view all
以確保您正在查看所有可用的混音器控制項。
alsamixer -V all
另外,在 alsamixer 中按 F6 並檢查列出的每個設備的設定。
答案4
我在Fedora 18 中曾經遇到過類似的問題。來解決它Adobe 的 Flash 外掛程式。