
我有一個外部 USB 音效卡將我的 PC (Fedora 20) 連接到我的立體聲擴大機:
http://www.project-audio.com/main.php?prod=usbbox&cat=boxes&lang=en
現在,這通常工作正常,但是,有時我會遇到音量設定問題。特別是,當使用 VLC 播放影片和音樂時,音量設定往往會變得混亂。例如,在脈衝音訊音量控制中,我將主音量設定為 100%,但在 VLC 中,音量設定低於 100%。如果我將 VLC 中的音量增加到 100%,母帶實際上會超過 100%,這不是很理想,因為它會導致音訊失真。在 Firefox 中播放 Youtube 影片時也會發生相同的情況。這是相當煩人的,因為它不僅降低了音訊質量,而且還導致不可預測的行為,因為擴大機上的音量設定可以在我的揚聲器上產生很大範圍的實際音量。
那麼,如何才能完全停用PC部分的音量設置,將其固定為100%並僅控制擴大機上的實際音量呢?換句話說,我希望 USB 音效卡完全像 CD 播放器、調諧器或其他音訊來源一樣,具有固定電平輸出。
答案1
我遇到了一些相似之處的問題(包括成交量破碎但水平較低)。我找到了一個解決方法並在中進行了解釋帶有外部聲音適配器的 Pulseaudio:解決聲音損壞的問題。
讓我們根據您的情況進行調整。下面的命令應該為您找到正確的接收器名稱(它只需要第一個):
export LC_ALL=C
ADAPTER_SINK_NAME=$( pactl list sinks | sed -n 's/^.*Name: \(.*\)$/\1/p' | head -n 1 )
echo $ADAPTER_SINK_NAME
然後將其插入軟體定義的接收器,您可以設定音量
pacmd load-module module-combine sink_name=adapter-soft-volume slaves=$ADAPTER_SINK_NAME
pactl set-default-sink adapter-soft-volume
詳情請參閱帶有外部聲音適配器的 Pulseaudio:解決聲音損壞的問題
這應該適用於從現在開始啟動的應用程式。
(可選)這會將目前正在播放的應用程式移至使用該接收器。
for SINK_ID in $(pactl list sink-inputs | sed -n 's/^Sink Input #\([0-9]*\)$/\1/p')
do
echo Sink $SINK_ID
pactl move-sink-input $SINK_ID adapter-soft-volume
done