Ubuntu 系統設置 USB PnP 音頻設備為默認設備的完整教程
在使用 Ubuntu 系統時,尤其是在嵌入式設備如 NVIDIA Jetson 系列上,我們經常需要將 USB PnP 音頻設備設置為默認設備。本文將詳細介紹如何通過命令行配置,使 USB PnP 音頻設備在系統重啟后保持為默認設備。
確認系統信息
首先,讓我們確認一下系統版本信息:
uname -a
在本文示例中,輸出為:
Linux ubuntu 5.10.216-tegra #1 SMP PREEMPT Thu May 15 18:33:30 PDT 2025 aarch64 aarch64 aarch64 GNU/Linux
這表明我們使用的是基于 ARM 架構的 Ubuntu 系統,內核版本為 5.10.216-tegra。
識別 USB PnP 音頻設備
要設置默認設備,首先需要準確識別 USB PnP 音頻設備的標識符。運行以下命令:
pactl list sinks | grep -A 10 "USB PnP"
該命令會列出所有音頻輸出設備,并篩選出包含 “USB PnP” 的設備信息。在本文示例中,輸出包含以下關鍵信息:
Description: USB PnP Audio Device Analog Stereo
...
Monitor Source: alsa_output.usb-Solid_State_System_Co._Ltd._USB_PnP_Audio_Device_000000000000-00.analog-stereo.monitor
...
device.product.name = "USB PnP Audio Device"
...
從輸出中,我們可以提取出 USB PnP 音頻設備的完整標識符:
- 輸出設備:
alsa_output.usb-Solid_State_System_Co._Ltd._USB_PnP_Audio_Device_000000000000-00.analog-stereo
- 輸入設備(通常名稱類似):
alsa_input.usb-Solid_State_System_Co._Ltd._USB_PnP_Audio_Device_000000000000-00.analog-stereo
配置 PulseAudio
PulseAudio 是 Ubuntu 系統默認的音頻服務器,我們可以通過修改其配置文件來設置默認音頻設備。
- 打開 PulseAudio 配置文件:
sudo vim /etc/pulse/default.pa
- 在文件末尾添加以下內容(使用上一步獲取的設備標識符):
# 設置USB PnP音頻設備為默認輸出
set-default-sink alsa_output.usb-Solid_State_System_Co._Ltd._USB_PnP_Audio_Device_000000000000-00.analog-stereo# 設置USB PnP音頻設備為默認輸入(如果需要)
set-default-source alsa_input.usb-Solid_State_System_Co._Ltd._USB_PnP_Audio_Device_000000000000-00.analog-stereo
### 開機把默認輸出音量設為 70%
load-module module-cli-protocol-unix
.nofail
exec pactl set-sink-volume @DEFAULT_SINK@ 70%
.fail
- 保存并退出編輯器(在 Vim 中,按
ESC
鍵,然后輸入:wq
并按回車)。
重啟 PulseAudio 服務
配置修改后,需要重啟 PulseAudio 服務使設置生效:
pulseaudio -k
pulseaudio --start
pulseaudio -k
:終止當前運行的 PulseAudio 進程pulseaudio --start
:啟動 PulseAudio 服務
驗證設置
為了確認設置是否成功,可以運行以下命令檢查當前默認音頻設備:
pactl get-default-sink
pactl get-default-source
上面的命令不一樣的pactl版本不一定能使用 可以打開 設置->聲音查看輸入和輸出設備 是否變化
如果輸出顯示為我們設置的 USB PnP 音頻設備,則說明配置成功。
檢查系統設置
你也可以通過圖形界面驗證設置是否生效:
- 打開系統設置(Settings)
- 導航到聲音(Sound)選項
- 在輸出設備(Output Device)和輸入設備(Input Device)下拉菜單中,確認默認設備是否為你的 USB PnP 音頻設備
重啟系統驗證
為了確保設置在系統重啟后仍然有效,建議重啟系統并再次驗證:
sudo reboot
系統重啟后,重復上述驗證步驟,確認 USB PnP 音頻設備仍然是默認設備。
總結
通過以上步驟,我們成功將 USB PnP 音頻設備設置為 Ubuntu 系統的默認音頻設備,并且確保了設置在系統重啟后仍然有效。這種方法通過直接配置 PulseAudio 服務,比圖形界面設置更加持久和可靠,特別適用于服務器環境或嵌入式系統。
如果后續更換了 USB 音頻設備,只需重復上述步驟,更新設備標識符即可。
系統音量、設備音量與應用音量的協同控制機制
在音頻播放過程中,系統音量、設備音量和應用音量并不是獨立工作的,而是通過層級化的協同控制共同決定最終的輸出音量。理解它們之間的關系,可以幫助你更精準地控制音頻輸出。
三者的層級關系與作用機制
想象音量控制是一個 “多級閥門” 系統:
最底層:設備硬件音量這是音頻信號離開計算機前的最后一道控制,由物理設備或其驅動程序直接控制例如你的 USB PnP 設備可能有內置放大器,其硬件音量決定了信號的基礎放大倍數即使系統音量調至最大,如果設備音量被設為 0,也不會有聲音輸出
中間層:系統音量(PulseAudio 主音量)作用于所有應用程序的音頻信號總和,相當于一個 "總控閥門"系統音量會對所有應用的音頻輸出進行統一縮放例如:系統音量設為 50% 時,所有應用的聲音都會被減半輸出
最上層:應用程序音量針對單個應用的獨立控制,每個應用可以有自己的音量比例應用音量是在系統音量之前生效的,先單獨調節每個應用,再匯總到系統音量控制例如:音樂播放器設為 100%,視頻播放器設為 50%,則后者的聲音會比前者小一半(再疊加系統音量的影響)
實際計算示例
假設:
設備硬件音量:100%(無衰減)
系統音量:80%
音樂播放器應用音量:100%
瀏覽器應用音量:50%
最終輸出音量計算:
音樂播放器:100%(應用) × 80%(系統) × 100%(設備) = 80%
瀏覽器:50%(應用) × 80%(系統) × 100%(設備) = 40%
如果此時將設備音量調至 50%:
音樂播放器最終音量:100% × 80% × 50% = 40%
瀏覽器最終音量:50% × 80% × 50% = 20%
常見問題與解決方案
聲音過小但已調大系統音量可能是設備音量被限制,可通過alsamixer檢查設備硬件音量操作:運行alsamixer,按 F6 選擇 USB PnP 設備,確保所有通道音量未被靜音或調至過低
個別應用聲音異常打開pavucontrol,在 "應用程序" 選項卡中檢查該應用的音量滑塊可能是應用被單獨靜音或音量被降至最低
插拔設備后音量突變新設備可能有不同的默認硬件音量可在/etc/pulse/default.pa中添加設備音量初始化命令:bash
設置USB設備默認音量為80%
set-sink-volume alsa_output.usb-xxx-xxx.analog-stereo 80%
總結
音頻系統的音量控制是一個 “串聯” 的過程:應用音量 → 系統音量 → 設備音量,每一級都會對聲音信號進行縮放處理。理解這種層級關系后,你可以:
用應用音量平衡不同程序的聲音比例
用系統音量快速調節整體聽覺體驗
用設備音量控制硬件輸出的基礎強度
這種多層次控制機制既保證了全局調節的便捷性,又保留了針對特定應用和設備的精細控制能力。