# Ubuntu 系统设置 USB PnP 音频设备为默认设备的完整教程

Ubuntu 系统设置 USB PnP 音频设备为默认设备的完整教程

在使用 Ubuntu 系统时,尤其是在嵌入式设备如 NVIDIA Jetson 系列上,我们经常需要将 USB PnP 音频设备设置为默认设备。本文将详细介绍如何通过命令行配置,使 USB PnP 音频设备在系统重启后保持为默认设备。

确认系统信息

首先,让我们确认一下系统版本信息:

bash 复制代码
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 音频设备的标识符。运行以下命令:

bash 复制代码
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 系统默认的音频服务器,我们可以通过修改其配置文件来设置默认音频设备。

  1. 打开 PulseAudio 配置文件:
bash 复制代码
sudo vim /etc/pulse/default.pa
  1. 在文件末尾添加以下内容(使用上一步获取的设备标识符):

    设置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

  2. 保存并退出编辑器(在 Vim 中,按 ESC 键,然后输入 :wq 并按回车)。

重启 PulseAudio 服务

配置修改后,需要重启 PulseAudio 服务使设置生效:

bash 复制代码
pulseaudio -k
pulseaudio --start
  • pulseaudio -k:终止当前运行的 PulseAudio 进程
  • pulseaudio --start:启动 PulseAudio 服务

验证设置

为了确认设置是否成功,可以运行以下命令检查当前默认音频设备:

bash 复制代码
pactl get-default-sink
pactl get-default-source

上面的命令不一样的pactl版本不一定能使用 可以打开 设置->声音查看输入和输出设备 是否变化

如果输出显示为我们设置的 USB PnP 音频设备,则说明配置成功。

检查系统设置

你也可以通过图形界面验证设置是否生效:

  1. 打开系统设置(Settings)
  2. 导航到声音(Sound)选项
  3. 在输出设备(Output Device)和输入设备(Input Device)下拉菜单中,确认默认设备是否为你的 USB PnP 音频设备

重启系统验证

为了确保设置在系统重启后仍然有效,建议重启系统并再次验证:

bash 复制代码
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%

总结

音频系统的音量控制是一个 "串联" 的过程:应用音量 → 系统音量 → 设备音量,每一级都会对声音信号进行缩放处理。理解这种层级关系后,你可以:

复制代码
用应用音量平衡不同程序的声音比例
用系统音量快速调节整体听觉体验
用设备音量控制硬件输出的基础强度

这种多层次控制机制既保证了全局调节的便捷性,又保留了针对特定应用和设备的精细控制能力。