# Ubuntu 系統設置 USB PnP 音頻設備為默認設備的完整教程

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 系統默認的音頻服務器,我們可以通過修改其配置文件來設置默認音頻設備。

  1. 打開 PulseAudio 配置文件:
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
  1. 保存并退出編輯器(在 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 音頻設備,則說明配置成功。

檢查系統設置

你也可以通過圖形界面驗證設置是否生效:

  1. 打開系統設置(Settings)
  2. 導航到聲音(Sound)選項
  3. 在輸出設備(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%

總結
音頻系統的音量控制是一個 “串聯” 的過程:應用音量 → 系統音量 → 設備音量,每一級都會對聲音信號進行縮放處理。理解這種層級關系后,你可以:

用應用音量平衡不同程序的聲音比例
用系統音量快速調節整體聽覺體驗
用設備音量控制硬件輸出的基礎強度

這種多層次控制機制既保證了全局調節的便捷性,又保留了針對特定應用和設備的精細控制能力。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/917028.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/917028.shtml
英文地址,請注明出處:http://en.pswp.cn/news/917028.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Hadoop JMX 配置的完整文檔

一、JMX 基礎概念與 Hadoop 支持 1、JMX 作用。 Java Management Extensions(JMX)提供標準 API 監控 JVM 應用運行時狀態(內存、線程、GC)及 Hadoop 組件指標(HDFS 容量、RPC 性能、節點狀態) 2、Hadoop 組…

arm架構系統打包qt程序--麒麟操作系統為例

檢查系統架構 uname -a如果顯示是aarch644或arm64,說明你使用的是ARM架構,,需要下載ARM版本。 下載對應架構的linuxdeployqt 編寫腳本 vim deploy.sh#!/bin/bash APP_NAME"sunny450_silc"# 確保deploy目錄存在 mkdir -p deploy# 復…

Kong API Gateway深度解析:插件系統與微服務架構的技術基石

在微服務(microservices)架構主導的今天,API網關(API Gateway)作為服務入口的“交通樞紐”,承擔著流量調度、安全防護、可觀測性(observability)等核心職責。Kong作為開源API網關領域…

Linux應用開發基礎知識——Makefile初級教程(九)

目錄 一、Makefile是啥? 1.1、了解幾種文件(.o 文件和.c文件 ) 1.2、關于Makefile的寫法 1.3、簡單使用Makefile基本指令 1.4、引入偽目標 1.5、Makefile的優點 1.6、Makefile的使用 二、Makefile創建和使用變量 2.1、創建變量的目的…

面試問題收集——卷積神經網絡

博主會經常分享自己在人工智能階段的學習筆記,歡迎大家訪問我滴個人博客!(養成系Blog!) 小牛壯士滴Blog~ - 低頭趕路 敬事如儀https://kukudelin.top/ 01-卷積基礎知識 問:簡述卷積基本操作,…

Kubernetes 全面解析:從基礎設施變革到核心架構詳解

引言在容器化技術席卷全球的今天,Kubernetes(簡稱 K8s)已成為容器編排領域的事實標準。無論是互聯網企業還是傳統行業,都在通過 Kubernetes 實現應用的高效部署、彈性擴展和自動化運維。但對于初學者而言,Kubernetes 的…

哈希相關的模擬實現

哈希相關的模擬實現哈希表的模擬實現閉散列除留取余法查找、插入和刪除閉散列參考程序開散列除留取余法(數組鏈表)迭代器查找和刪除插入開散列參考程序unordered_map和unordered_set的模擬實現unordered_mapunordered_set建議先看 哈希的概念及其應用-CS…

Vue3+Vite項目如何簡單使用tsx

安裝必要的依賴npm install vitejs/plugin-vue-jsx -D在 vite.config.ts 中添加以下內容import vueJsx from vitejs/plugin-vue-jsx export default {plugins: [vueJsx()] }在Vue頁面使用<script lang"ts"> import { defineComponent } from vue export defaul…

05百融云策略引擎項目交付-laravel實戰完整交付定義常量分文件配置-獨立建立lib類處理-成功導出pdf-優雅草卓伊凡

05百融云策略引擎項目交付-laravel實戰完整交付定義常量分文件配置-獨立建立lib類處理-成功導出pdf-優雅草卓伊凡引言此前只是把關于如何把查詢內容導出pdf庫的代碼實現了&#xff0c;但是我們并沒有完成整個項目&#xff0c;這最后一個步驟就是安裝composer再安裝tcpdf庫&…

模型訓練速度慢排查

一、nvidia-smi 查看 GPU 的利用率與顯存。若 GPU 利用率低或波動&#xff0c;說明 CPU 處理數據的速度跟不上 GPU 計算的速度&#xff0c;需要檢查數據傳輸并調整 num_workers&#xff1b;若 GPU 顯存充足&#xff0c;可以逐步增加 batch_size_per_card 直至顯存占滿&#xff…

STM32學習記錄--Day4

今天了解了一下SPI總線&#xff1a;1.SPI內部結構??&#x1f50c; SPI 四大核心引腳功能詳解??1. ??MOSI (Master Output Slave Input)????功能??&#xff1a;??主機輸出數據線????工作流程??&#xff1a;主機內部發送數據寄存器 (TxDR) 的數據 → 移位寄存…

【網絡安全】等級保護2.0解決方案

等保2.0&#xff08;網絡安全等級保護2.0&#xff09;是我國網絡安全領域的基礎性制度&#xff0c;在1.0版本基礎上擴展了云計算、大數據、物聯網等新興領域&#xff0c;形成覆蓋全場景的安全防護框架。其核心是按信息系統重要程度劃分等級&#xff08;1-5級&#xff09;&#…

TypeScript 基礎介紹(二)

引言&#xff1a;從基礎到結構化類型 在《TypeScript 基礎介紹&#xff08;一&#xff09;》TypeScript基礎介紹&#xff08;一&#xff09;-CSDN博客中&#xff0c;我們探討了 TypeScript 的類型系統基礎、聯合類型、類型斷言和類型守衛等核心特性。這些內容解決了 JavaScript…

【科研繪圖系列】R語言繪制線性相關性

文章目錄 介紹 加載R包 數據下載 導入數據 數據預處理 畫圖 系統信息 參考 介紹 【科研繪圖系列】R語言繪制線性相關性 加載R包 library(tidyverse) library(ggplot2) library(ggsignif) library(RColorBrewer) library(dplyr) library(reshape2

FastAPI的請求-響應周期為何需要后臺任務分離?

url: /posts/c7b54d6b3b6b5041654e69e5610bf3b9/ title: FastAPI的請求-響應周期為何需要后臺任務分離? date: 2025-07-31T06:11:25+08:00 lastmod: 2025-07-31T06:11:25+08:00 author: cmdragon summary: FastAPI 的請求-響應周期遵循 ASGI 協議,類似于餐廳點餐流程。同步處…

多種錄音筆錄音芯片方案推薦

多種錄音筆錄音芯片方案推薦一、引言隨著信息技術的飛速發展&#xff0c;錄音筆作為一種重要的音頻記錄設備&#xff0c;在會議記錄、采訪、學習等眾多場景中得到廣泛應用。其核心的錄音芯片方案直接影響錄音質量、功能特性以及產品成本。唯創知音作為音頻芯片領域的知名廠商&a…

Linux系統編程Day2-- Linux常用操作

一、Linux 基本命令概覽以下是一些常用的Linux命令操作&#xff0c;后續我們會對其每個單獨如何使用進行講解。操作類型常用命令示例文件/目錄操作ls, cd, cp, mv, rm, mkdir, rmdir查看文件內容cat, less, more, head, tail查找操作find, grep, locate, which權限管理chmod, c…

cs336 assignment1 作業環境配置

代碼結構 所有的代碼寫到cs336_basics/* 下面&#xff0c;在adapters.py里調用自己的.py&#xff0c;通過所有的test。 作業資料參考 karpathy視頻倉庫&#xff1a; 視頻 github倉庫 測試項目運行環境 下載uv uv官網倉庫 使用命令&#xff1a; powershell -ExecutionPoli…

YOLOv11來了,使用YOLOv11訓練自己的數據集和推理(附YOLOv11網絡結構圖)

文章目錄前言一、YOLOv11代碼下載地址1.YOLOv11模型結構圖二、數據集準備1.數據集標注軟件2.voc數據集格式轉換3.數據集劃分4.修改yolo的訓練配置文件三、YOLO環境配置教程1.pytorch環境安裝2.其他依賴安裝四、YOLOv11訓練五、YOLOv11推理六、解決訓練過程中斷怎么繼續上次訓練…

20250731在榮品的PRO-RK3566開發板的Android13下跑通敦泰的FT8206觸控芯片

20250731在榮品的PRO-RK3566開發板的Android13下跑通敦泰的FT8206觸控芯片 2025/7/31 17:48緣起&#xff1a;本文前置條件&#xff1a;已經解決FT8206和PRO-RK3566的硬件連接。 通過i2cdect可以掃描到i2c從機地址&#xff1a;0x38。【8位地址為0x70】緣起&#xff1a;本文只分析…