Linux

配置pulseaudio預設輸入埠

  • October 30, 2020

我的筆記型電腦(執行 Pop_OS 20.04,核心 5.4——它是一個 Ryzen 並且與任何舊核心一起工作都非常糟糕)假裝有 2 個麥克風:一個“數字麥克風”(從不做任何事情)和一個“耳機麥克風”(只工作美好的)。然而,在某些時候,脈衝音頻決定預設輸入是無用的(AFAIK 不存在)“數字麥克風”(可能同時它決定輸出音量在耳機和集成揚聲器之間共享,這是另一個煩惱但不同問題)。

編輯:這是來自的輸出arecord --list-devices

% arecord --list-devices
**** List of CAPTURE Hardware Devices ****
card 1: Generic_1 [HD-Audio Generic], device 0: CX8070 Analog [CX8070 Analog]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 2: acp [acp], device 0: DMIC capture dmic-hifi-0 []
 Subdevices: 1/1
 Subdevice #0: subdevice #0

以及來自的輸出pacmd list-sources | grep 'name:.*input'

% pacmd list-sources | grep 'name:.*input'
   name: <alsa_input.pci-0000_04_00.6.HiFi__hw_acp__source>
   name: <alsa_input.pci-0000_04_00.6.HiFi__hw_Generic_1__source>

當我使用“靜音麥克風”快捷鍵時,它會將不工作的“數字麥克風”靜音並讓聲音流入“耳機麥克風”。

我可以在 Audacity 中選擇正在工作的麥克風並進行精細錄音;但是在大多數應用程序中,它根本不可用(例如,它無法從任何影片會議軟體中使用,這令人抓狂,因為大多數程序只允許使用“預設”輸入,可能是因為另一個“未插入”)。

顯然,“耳機麥克風”在插入帶有集成麥克風的耳機時使用實際的耳機麥克風(儘管仍然錯誤地標記為“未插入”),並且在沒有麥克風插入耳機插座時使用集成筆記型電腦麥克風。無論如何,大多數應用程序都無法使用實際的麥克風。

在 pavucontrol 中,我無法禁用數字麥克風,也無法製作模擬麥克風,只能使用預設設置(我可以點擊“預設”按鈕,但設置會立即被遺忘)。請注意,“耳機”麥克風被錯誤地標記為“未插入”,而監控欄顯示有聲音進入)。

在此處輸入圖像描述

我已經嘗試了這個答案提出的一些事情,但他們沒有做任何事情:

% pacmd list | grep active
   active port: <[Out] Headphones>
   active port: <[In] Mic1>
   active port: <[In] Mic2>
   active profile: <off>
   active profile: <HiFi>

Mic1 是“數字麥克風”,“Mic2”是“耳機”之一。然而:

% pacmd set-source-port 1 "<[In] Mic2>"
Failed to set source port to '<[In] Mic2>'.

Alsamixer 也無濟於事。據我所知,它只顯示一個輸入(預設輸入)。

這是一個嚴重的不便,主要是因為除非我使用藍牙耳機,否則我無法進行任何影片會議。

我已嘗試按照此問題/答案的建議將“模擬耳機麥克風”設置為“永久插入”狀態,沒有骰子,它仍然是“未插入”:

% sudo vi /usr/share/pulseaudio/alsa-mixer/paths/analog-input-headphone-mic.conf


[Jack Headphone Mic]
required-any = any
state.plugged = yes

嘗試設置活動配置文件。這是 Arch wiki 的摘錄:

“活動配置文件”可以使用命令設置pacmd set-card-profile INDEX PROFILE,沒有逗號分隔 INDEX 和 PROFILE,其中 INDEX 只是“index:”行上的數字,而 PROFILE 名稱是“profile:”下任何行開頭顯示的所有內容: " 到冒號和第一個空格之前,如命令所示pacmd list-cards。例如,pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo

首先列出您的卡片,按pacmd list-cards,然後使用pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo可以將命令中的“0”替換為卡片索引號的位置來設置卡片的配置文件。嘗試保持與命令中描述的相同的配置文件,即輸出:模擬立體聲+輸入:模擬立體聲。

您也可以從pavucontrolGUI 執行相同的操作。最後一個“配置”選項卡可用於此目的。

首先,您必須通過獲取可用源列表來縮小模擬麥克風的名稱範圍。

pacmd list-sources | grep -i "name:"

這些來源之一將對應於您想要靜音的模擬麥克風,它可以通過以下方式“靜音取消靜音” and

pacmd set-source-mute [NAME of source from previous command output] 1 

並取消靜音

pacmd set-source-mute [NAME of source from previous command output] 0

更好的是,您可以將源設置為預設源輸出:

pacmd set-default-source [NAME] 

然後你的快捷方式應該控制你的模擬麥克風。

引用自:https://unix.stackexchange.com/questions/612215