一、環境介紹
操作系統: 虛擬機運行的Ubuntu18.04 64位
二、解決的問題
情況說明: 當前ubuntu18.04上有多個聲卡設備,兩個麥克風(1個USB聲卡帶的麥克風、1個內置麥克風)、2個揚聲器設備(內置外放揚聲器、USB接口揚聲器)。
目的: 想要設置系統默認使用USB接口揚聲器放音。
三、安裝pavucontrol命令
一般情況下,系統都自帶該命令,無需再下載,如果沒有就下載。
sudo apt-get install pavucontrol
四、pavucontrol命令使用
pavucontrol命令功能比較強大,可以禁用指定聲卡、可以選擇指定聲卡只能錄音或者只能放音,用來切換聲卡非常方便。
pavucontrol命令的使用幫助請看這裏:https://wiki.archlinux.org/index.php/PulseAudio#default.pa
需要注意的問題: pavucontrol 命令打開界面設置的信息只能本次有效,如果系統重啓,配置也會還原,也就是說設置之後不會永久保存。
五、永久保存默認聲卡的設置
如果不想每次開機都設置一次,可以將配置寫入到配置文件:/etc/pulse/default.pa
5.1 查看當前系統可用的音頻端口
使用排除法,先把USB聲卡拔掉,然後再插上,確定那個端口是USB那個端口是電腦內置的。
具體代碼看下面:
wbyq@wbyq:~$ pacmd list | grep "active port"
active port: <analog-output>
active port: <analog-input-mic>
wbyq@wbyq:~$ pacmd list | grep "active port"
active port: <analog-output>
active port: <analog-output-speaker>
active port: <analog-input-mic>
active port: <analog-input-mic>
根據打印的結果,可以知道USB聲卡的輸出端口是:active port: <analog-output-speaker>
5.2 查看音頻端口的節點編號
將打印的數據輸出到text.txt文本文件中。
wbyq@wbyq:~$ pacmd list >text.txt
然後使用gedit打開文本文件,搜索active port 字段。
wbyq@wbyq:~$ gedit text.txt
搜索到之後,再向前翻,找到 index 字段,找到這個聲卡對應的編號。
確定節點編號是12之後,就設置配置文件。
5.3 修改配置文件
sudo gedit /etc/pulse/default.pa
在文件末尾增加一行代碼: 其中的12就是找到編號,analog-output-speaker 是使用的聲卡端口名稱,前面查找到的。
set-sink-port 12 analog-output-speaker
重啓即可生效。