聯想筆記型電腦在Fedora下聲音低

聯想筆記型電腦在Fedora下聲音低

在 Fedora 16 下,我在這台 Lenovo T520 上聽不到任何聲音。 alsamixer 中的所有內容均為 100%(pulsaudio 和 card)。我在筆記型電腦上安裝了 Windows 7,以檢查 Windows 上是否有相同的問題,但事實並非如此。

有誰知道如何處理這個問題?我已經被這個問題困擾了快一年了,但現在隨著東海岸的熱浪,我必須開足馬力運行空調,但開空調時我聽不到任何聲音。

大膽地說,我只需混合音量就可以從揚聲器中獲得高音量。有沒有辦法在 PulseAudio 和 alsa 之間運行軟體擴大機來調高音量,或者可以在 alsactl.conf 中執行某些操作以使卡在較低點標準化音量等級?由於這款筆記型電腦在 Linux 用戶中很常見,我希望有人能提出一個解決方案。

答案1

我過去曾這樣做過,並且在提高音量​​方面取得了相當大的成功。唯一的問題是,如果您將其調低,則必須返回揚聲器圖示下的系統首選項,將其調回 150%。

但是,透過以下步驟,從重新啟動到重新啟動應保持「黏性」。

                                     SS #1

調高音量

如果您右鍵單擊揚聲器小程式並選擇聲音首選項,您將開啟此對話方塊。

          SS #2

確認並儲存更改

將音量一直調到 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"

一如既往,manpacmd -hpactl -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阿薩斯或者脈衝音頻


編輯:

好的。來思考一下。這可能是合適的。(我不知道我第一次是怎麼逃出來的。)

  1. default.pa添加一個脈衝音訊模組來自設備驅動程式。
  2. 重新啟動脈衝音頻。
  3. 打開聲音設定並設定音量原來的水槽例如150%。 (或透過命令列執行此操作或default.pa如上所述進行預設。)
  4. 選擇新模組/接收器作為聲音輸出裝置。

使用時這將為您提供 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 外掛程式。

相關內容